diff --git a/include/rootston/desktop.h b/include/rootston/desktop.h index b809db43..10e5bbc6 100644 --- a/include/rootston/desktop.h +++ b/include/rootston/desktop.h @@ -50,6 +50,7 @@ struct roots_desktop { #ifdef HAS_XWAYLAND struct wlr_xwayland *xwayland; struct wl_listener xwayland_surface; + struct wl_listener xwayland_ready; #endif }; diff --git a/rootston/main.c b/rootston/main.c index 814d3aef..46548094 100644 --- a/rootston/main.c +++ b/rootston/main.c @@ -59,8 +59,9 @@ int main(int argc, char **argv) { ready(NULL, NULL); #else if (server.desktop->xwayland != NULL) { - struct wl_listener xwayland_ready = { .notify = ready }; - wl_signal_add(&server.desktop->xwayland->events.ready, &xwayland_ready); + wl_signal_add(&server.desktop->xwayland->events.ready, + &server.desktop->xwayland_ready); + server.desktop->xwayland_ready.notify = ready; } else { ready(NULL, NULL); }