From: Christian Hergert Date: Sun, 30 Jan 2022 01:07:02 +0000 (-0800) Subject: macos: be more defensive about freezing updates X-Git-Tag: archive/raspbian/4.6.5+ds-1+rpi1~1^2~19^2~4^2~22^2~12 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=b7130a1ce352e4721d82aa06323c64b20ececf91;p=gtk4.git macos: be more defensive about freezing updates We only need to freeze the updates if we weren't in the queue already. That should be the case, but just better to be defensive here. --- diff --git a/gdk/macos/gdkmacosdisplay.c b/gdk/macos/gdkmacosdisplay.c index 9507d65c88..5866e03b5e 100644 --- a/gdk/macos/gdkmacosdisplay.c +++ b/gdk/macos/gdkmacosdisplay.c @@ -993,6 +993,8 @@ _gdk_macos_display_add_frame_callback (GdkMacosDisplay *self, */ g_queue_push_head_link (&self->awaiting_frames, &surface->frame); + gdk_surface_freeze_updates (GDK_SURFACE (surface)); + if (self->awaiting_frames.length == 1) gdk_display_link_source_unpause ((GdkDisplayLinkSource *)self->frame_source); } diff --git a/gdk/macos/gdkmacossurface.c b/gdk/macos/gdkmacossurface.c index 95bb990971..a6a354cab7 100644 --- a/gdk/macos/gdkmacossurface.c +++ b/gdk/macos/gdkmacossurface.c @@ -197,8 +197,6 @@ gdk_macos_surface_end_frame (GdkMacosSurface *self) self->pending_frame_counter = timings->frame_counter; _gdk_macos_display_add_frame_callback (GDK_MACOS_DISPLAY (display), self); - - gdk_surface_freeze_updates (GDK_SURFACE (self)); } static void