mirror of
https://github.com/kovidgoyal/kitty
synced 2026-06-11 11:09:16 +02:00
Only call wl_surface_commit() after a resize when the correct size buffer is attached to the surface. This is ensured by setting a flag on the window that prevents all surface commits till it is cleared. The flag is cleared at next eglSwapBuffers(). I dont actually understand if this guarantees that the buffer size is always correct. For example, if the back buffer is latched when wl_egl_resize_window() is called, the backbuffer will be correct only after two swaps (I think). Or maybe the old back buffer is discarded, I cant find any documentation about it. All I can say is that doing it this way seems to fix the issue. Thanks to @jadahl for his help with tracking down the root cause. Fixes #4802
19 KiB
Vendored
19 KiB
Vendored