From: Ivan Molodetskikh Date: Wed, 15 Mar 2023 23:11:40 +0000 (-0700) Subject: wayland: Reset pending offset in GL path X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~4^2~36^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=96e0c0f0953cc29102f2c8e183bdcb1105055f13;p=gtk4.git wayland: Reset pending offset in GL path Otherwise GL surfaces that redraw without changing the hotspot have it applied on top every frame and quickly slide away. The cairo path and the X11 backend do not have this bug. --- diff --git a/gdk/wayland/gdkglcontext-wayland.c b/gdk/wayland/gdkglcontext-wayland.c index 7becec5ed5..b0ae79a0b7 100644 --- a/gdk/wayland/gdkglcontext-wayland.c +++ b/gdk/wayland/gdkglcontext-wayland.c @@ -65,6 +65,9 @@ gdk_wayland_gl_context_end_frame (GdkDrawContext *draw_context, int dx = impl->pending_buffer_offset_x; int dy = impl->pending_buffer_offset_y; + impl->pending_buffer_offset_x = 0; + impl->pending_buffer_offset_y = 0; + gdk_wayland_surface_sync (surface); gdk_wayland_surface_request_frame (surface); @@ -118,7 +121,7 @@ gdk_wayland_display_init_gl (GdkDisplay *display, { GdkWaylandDisplay *self = GDK_WAYLAND_DISPLAY (display); - if (!gdk_display_init_egl (display, + if (!gdk_display_init_egl (display, EGL_PLATFORM_WAYLAND_EXT, self->wl_display, TRUE,