mirror of
https://github.com/swaywm/sway.git
synced 2024-11-30 03:41:27 +00:00
Fix crash when closing output window from outer session
Emitting the close event needs to happen before container_output_destroy, because container_output_destroy sets the sway_output to NULL and sway_output is used in IPC.
This commit is contained in:
parent
834805f5e2
commit
93696b78ec
|
@ -304,6 +304,9 @@ struct sway_container *container_destroy_noreaping(struct sway_container *con) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wl_signal_emit(&con->events.destroy, con);
|
||||||
|
ipc_event_window(con, "close");
|
||||||
|
|
||||||
// The below functions move their children to somewhere else.
|
// The below functions move their children to somewhere else.
|
||||||
if (con->type == C_OUTPUT) {
|
if (con->type == C_OUTPUT) {
|
||||||
container_output_destroy(con);
|
container_output_destroy(con);
|
||||||
|
@ -325,9 +328,6 @@ struct sway_container *container_destroy_noreaping(struct sway_container *con) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
wl_signal_emit(&con->events.destroy, con);
|
|
||||||
ipc_event_window(con, "close");
|
|
||||||
|
|
||||||
con->destroying = true;
|
con->destroying = true;
|
||||||
list_add(server.destroying_containers, con);
|
list_add(server.destroying_containers, con);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue