Skip to content

wayland: Always commit soon after xdg_surface.ack_configure

It's mandatory to reply to a xdg_surface.configure with a xdg_surface.ack_configure, as well as a wl_surface.commit to have the ack_configure to have any effect. We failed to do that if the new configuration didn't cause any actual anything to change, meaning we'd just ack_configure, but potentially never commit.

Fix this by requesting a 'after-paint' frame clock phase, while setting the pending commit state to true. If we were already to paint, the new requested phase would happen anyway, but to avoid double wl_surface.commit when also using eglSwapBuffers*(), also avoid performing the commit if we know the swap buffers will happen.

Merge request reports