xdg-shell: don't populate current state on ack_configure

The xdg_surface.ack_configure request is double-buffered state.
We shouldn't apply it immediately, we should wait for the surface
commit to be applied.
This commit is contained in:
Simon Ser 2021-07-06 19:46:52 +02:00
parent 9c3163df7a
commit 8e91913452
2 changed files with 3 additions and 1 deletions

View file

@ -142,7 +142,7 @@ static void xdg_surface_handle_ack_configure(struct wl_client *client,
}
surface->configured = true;
surface->configure_serial = serial;
surface->pending.configure_serial = serial;
wlr_signal_emit_safe(&surface->events.ack_configure, configure);
xdg_surface_configure_destroy(configure);
@ -401,6 +401,7 @@ void handle_xdg_surface_commit(struct wlr_surface *wlr_surface) {
return;
}
surface->configure_serial = next.configure_serial;
if (next.has_geometry) {
surface->geometry = next.geometry;
}