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
This commit is contained in:
Benjamin Otte 2023-05-13 18:35:02 +02:00
parent 4a1598dc2a
commit b530ade8c6

View File

@ -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