From b530ade8c6eb6673f8ccd543616c89b609b747d8 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Sat, 13 May 2023 18:35:02 +0200 Subject: [PATCH] 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 --- gdk/gdkdrawcontext.c | 6 ++++++ 1 file changed, 6 insertions(+) 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