diff options
| author | Matthias Clasen <mclasen@redhat.com> | 2019-12-01 15:11:52 +0000 |
|---|---|---|
| committer | Matthias Clasen <mclasen@redhat.com> | 2019-12-01 15:11:52 +0000 |
| commit | 06d1cf5e520d86c062ef37f717934ddf5ea1b4da (patch) | |
| tree | d055ec8eca8c06f05b53c64387701fc7105f551a | |
| parent | 8b789993c352628ea7ebd4059dc961ed06ac6110 (diff) | |
| parent | 44c994e4690dfb770977a11e6f0022f2aba904f7 (diff) | |
| download | gtk+-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.c | 17 |
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 { |
