diff options
author | 2018-09-30 11:58:56 +1000 | |
---|---|---|
committer | 2018-09-30 11:58:56 +1000 | |
commit | 24bcb507ecf9b656fb9d5532dab9d1cac9c84a33 (patch) | |
tree | ddf2f811de08756472336e6ee09139db1746ee86 /assets/Sway_Wallpaper_Blue_1920x1080.png | |
parent | Merge pull request #2698 from ianyfan/hide-cursor (diff) | |
download | sway-24bcb507ecf9b656fb9d5532dab9d1cac9c84a33.tar.gz sway-24bcb507ecf9b656fb9d5532dab9d1cac9c84a33.tar.zst sway-24bcb507ecf9b656fb9d5532dab9d1cac9c84a33.zip |
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 'assets/Sway_Wallpaper_Blue_1920x1080.png')
0 files changed, 0 insertions, 0 deletions