summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2019-12-01 15:11:52 +0000
committerMatthias Clasen <mclasen@redhat.com>2019-12-01 15:11:52 +0000
commit06d1cf5e520d86c062ef37f717934ddf5ea1b4da (patch)
treed055ec8eca8c06f05b53c64387701fc7105f551a
parent8b789993c352628ea7ebd4059dc961ed06ac6110 (diff)
parent44c994e4690dfb770977a11e6f0022f2aba904f7 (diff)
downloadgtk+-06d1cf5e520d86c062ef37f717934ddf5ea1b4da.tar.gz
Merge branch 'wip/muktupavels/opaque-region' into 'gtk-3-24'
window: fix opaque region See merge request GNOME/gtk!1221
-rw-r--r--gtk/gtkwindow.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 6c5f136043..7229518900 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -7236,13 +7236,20 @@ corner_rect (cairo_rectangle_int_t *rect,
}
static void
-subtract_corners_from_region (cairo_region_t *region,
- cairo_rectangle_int_t *extents,
- GtkStyleContext *context,
- GtkWindow *window)
+subtract_decoration_corners_from_region (cairo_region_t *region,
+ cairo_rectangle_int_t *extents,
+ GtkStyleContext *context,
+ GtkWindow *window)
{
+ GtkWindowPrivate *priv = window->priv;
cairo_rectangle_int_t rect;
+ if (!priv->client_decorated ||
+ !priv->decorated ||
+ priv->fullscreen ||
+ priv->maximized)
+ return;
+
gtk_style_context_save_to_node (context, window->priv->decoration_node);
corner_rect (&rect, _gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BORDER_TOP_LEFT_RADIUS));
@@ -7304,7 +7311,7 @@ update_opaque_region (GtkWindow *window,
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
{