diff --git a/types/xdg_shell/wlr_xdg_surface.c b/types/xdg_shell/wlr_xdg_surface.c index bd59a549..1613c3b4 100644 --- a/types/xdg_shell/wlr_xdg_surface.c +++ b/types/xdg_shell/wlr_xdg_surface.c @@ -195,6 +195,9 @@ uint32_t wlr_xdg_surface_schedule_configure(struct wlr_xdg_surface *surface) { surface->configure_next_serial = wl_display_next_serial(display); surface->configure_idle = wl_event_loop_add_idle(loop, surface_send_configure, surface); + if (surface->configure_idle == NULL) { + wl_client_post_no_memory(surface->client->client); + } } return surface->configure_next_serial; }