Merge branch 'wip/muktupavels/opaque-region-master' into 'master'

window: fix opaque region

See merge request GNOME/gtk!1222
This commit is contained in:
Matthias Clasen 2019-12-01 15:11:00 +00:00
commit ab32b1bba2

View File

@ -5420,14 +5420,20 @@ corner_rect (cairo_rectangle_int_t *rect,
} }
static void static void
subtract_corners_from_region (cairo_region_t *region, subtract_decoration_corners_from_region (cairo_region_t *region,
cairo_rectangle_int_t *extents, cairo_rectangle_int_t *extents,
GtkStyleContext *context, GtkStyleContext *context,
GtkWindow *window) GtkWindow *window)
{ {
GtkWindowPrivate *priv = gtk_window_get_instance_private (window); GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
cairo_rectangle_int_t rect; cairo_rectangle_int_t rect;
if (!priv->client_decorated ||
!priv->decorated ||
priv->fullscreen ||
priv->maximized)
return;
gtk_style_context_save_to_node (context, priv->decoration_node); gtk_style_context_save_to_node (context, priv->decoration_node);
corner_rect (&rect, _gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BORDER_TOP_LEFT_RADIUS)); corner_rect (&rect, _gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BORDER_TOP_LEFT_RADIUS));
@ -5485,7 +5491,7 @@ update_opaque_region (GtkWindow *window,
opaque_region = cairo_region_create_rectangle (&rect); opaque_region = cairo_region_create_rectangle (&rect);
subtract_corners_from_region (opaque_region, &rect, context, window); subtract_decoration_corners_from_region (opaque_region, &rect, context, window);
} }
else else
{ {