mirror of
https://github.com/swaywm/sway.git
synced 2025-11-20 06:59:46 -05:00
layer_shell: order destroying before sway_output
Both sway_output and sway_layer_shell listen to wlr's output destroy event, but sway_layer_shell needs to access into sway_output's data strucure and needs to be destroyed first. Resolve this by making sway_layer_shell listen to a new event that happens at start of sway_output's destroy handler
This commit is contained in:
parent
08800c8ee2
commit
6856866a61
3 changed files with 10 additions and 4 deletions
|
|
@ -1199,6 +1199,8 @@ static void damage_handle_destroy(struct wl_listener *listener, void *data) {
|
|||
|
||||
static void handle_destroy(struct wl_listener *listener, void *data) {
|
||||
struct sway_output *output = wl_container_of(listener, output, destroy);
|
||||
wl_signal_emit(&output->events.destroy, output);
|
||||
|
||||
if (output->swayc) {
|
||||
container_destroy(output->swayc);
|
||||
}
|
||||
|
|
@ -1277,6 +1279,7 @@ void output_enable(struct sway_output *output) {
|
|||
for (size_t i = 0; i < len; ++i) {
|
||||
wl_list_init(&output->layers[i]);
|
||||
}
|
||||
wl_signal_init(&output->events.destroy);
|
||||
|
||||
input_manager_configure_xcursor(input_manager);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue