commit 93696b78ecbc31ec34be97ec26836efb74d359f0
parent 834805f5e260bcc77d714323d4a7f4bfd1dbfb17
Author: Ryan Dwyer <ryandwyer1@gmail.com>
Date: Tue, 26 Jun 2018 20:14:58 +1000
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.
Diffstat:
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/sway/tree/container.c b/sway/tree/container.c
@@ -304,6 +304,9 @@ struct sway_container *container_destroy_noreaping(struct sway_container *con) {
return NULL;
}
+ wl_signal_emit(&con->events.destroy, con);
+ ipc_event_window(con, "close");
+
// The below functions move their children to somewhere else.
if (con->type == C_OUTPUT) {
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;
list_add(server.destroying_containers, con);