diff options
| author | Furkan Sahin <furkan-dev@proton.me> | 2018-09-30 11:58:56 +1000 |
|---|---|---|
| committer | Furkan Sahin <furkan-dev@proton.me> | 2018-09-30 11:58:56 +1000 |
| commit | 3c8555e8802d0de5ee8314494ca4db69db398c88 (patch) | |
| tree | ddf2f811de08756472336e6ee09139db1746ee86 /swaybar/bar.c | |
| parent | 90f25291bc889cbe186ebb384d76a34f281d355f (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
