mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2025-01-16 15:14:17 +00:00
wayland: always sync state after a frame is painted
Opaque region, margin and input region were only being synced when a cairo paint happened. That caused GL paints to sometimes end up with bad state. Move calls to sync state to gdk_window_impl_wayland_end_paint. https://bugzilla.gnome.org/show_bug.cgi?id=771553
This commit is contained in:
parent
dbd0923b5f
commit
7292b03559
@ -597,10 +597,6 @@ on_frame_clock_after_paint (GdkFrameClock *clock,
|
||||
if (impl->pending_buffer_attached)
|
||||
read_back_cairo_surface (window);
|
||||
|
||||
gdk_wayland_window_sync_margin (window);
|
||||
gdk_wayland_window_sync_opaque_region (window);
|
||||
gdk_wayland_window_sync_input_region (window);
|
||||
|
||||
/* From this commit forward, we can't write to the buffer,
|
||||
* it's "live". In the future, if we need to stage more changes
|
||||
* we have to allocate a new staging buffer and draw to it instead.
|
||||
@ -936,6 +932,10 @@ gdk_window_impl_wayland_end_paint (GdkWindow *window)
|
||||
|
||||
impl->pending_commit = TRUE;
|
||||
}
|
||||
|
||||
gdk_wayland_window_sync_margin (window);
|
||||
gdk_wayland_window_sync_opaque_region (window);
|
||||
gdk_wayland_window_sync_input_region (window);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
Loading…
Reference in New Issue
Block a user