aboutsummaryrefslogtreecommitdiff
path: root/swaybar/bar.c
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2018-09-30 11:58:56 +1000
committerFurkan Sahin <furkan-dev@proton.me>2018-09-30 11:58:56 +1000
commit3c8555e8802d0de5ee8314494ca4db69db398c88 (patch)
treeddf2f811de08756472336e6ee09139db1746ee86 /swaybar/bar.c
parent90f25291bc889cbe186ebb384d76a34f281d355f (diff)
Fix hotplugging down to zero outputs
When the last output is disconnected, output_disable is called like usual and evacuates the output to the root->saved_workspaces list. It then calls root_for_each_container to remove (untrack) the output from each container's outputs list. However root_for_each_container did not iterate the saved workspaces, so when the output gets freed the containers would have a dangling pointer in their outputs list. Upon reconnect, container_discover_outputs would attempt to use the dangling pointer, causing a crash. This makes root_for_each_container check the saved workspaces list, which fixes the problem.
Diffstat (limited to 'swaybar/bar.c')
0 files changed, 0 insertions, 0 deletions