24bcb507ec
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. |
||
---|---|---|
.. | ||
commands | ||
config | ||
desktop | ||
input | ||
tree | ||
base64.c | ||
commands.c | ||
config.c | ||
criteria.c | ||
debug-tree.c | ||
decoration.c | ||
ipc-json.c | ||
ipc-server.c | ||
main.c | ||
meson.build | ||
security.c | ||
server.c | ||
sway-bar.5.scd | ||
sway-input.5.scd | ||
sway.1.scd | ||
sway.5.scd | ||
swaynag.c |