From: Benjamin Otte Date: Sat, 13 May 2023 16:35:02 +0000 (+0200) Subject: gdk: Clamp frame region to surface size X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~1^2~253^2~12 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=b530ade8c6eb6673f8ccd543616c89b609b747d8;p=gtk4.git gdk: Clamp frame region to surface size The region may be larger than the surface's size, but many rendering APIs require the size to be clamped. Fixes #5812 --- diff --git a/gdk/gdkdrawcontext.c b/gdk/gdkdrawcontext.c index 8699807cab..e461ebdd28 100644 --- a/gdk/gdkdrawcontext.c +++ b/gdk/gdkdrawcontext.c @@ -371,6 +371,12 @@ gdk_draw_context_begin_frame_full (GdkDrawContext *context, priv->surface->paint_context = g_object_ref (context); GDK_DRAW_CONTEXT_GET_CLASS (context)->begin_frame (context, prefers_high_depth, priv->frame_region); + + cairo_region_intersect_rectangle (priv->frame_region, + &(cairo_rectangle_int_t) { + 0, 0, + priv->surface->width, priv->surface->height + }); } #ifdef HAVE_SYSPROF