diff options
author | Matthias Clasen <mclasen@redhat.com> | 2017-09-01 15:32:48 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2017-09-01 15:34:13 -0400 |
commit | 6bdebd157048678a0b067e1492cff3ac0717e35d (patch) | |
tree | 9564087d47d5009366a292d8c74ba2c5ce4b10f8 | |
parent | e6bbc10bd590150be2d7c822d8bd116fd68115e8 (diff) | |
download | gtk+-6bdebd157048678a0b067e1492cff3ac0717e35d.tar.gz |
label: Don't leak clip regions
This was introduced in the conversion to gsk.
-rw-r--r-- | gtk/gtklabel.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c index 4f87501eae..a54fa291e4 100644 --- a/gtk/gtklabel.c +++ b/gtk/gtklabel.c @@ -3948,11 +3948,14 @@ gtk_label_snapshot (GtkWidget *widget, range_clip = gdk_pango_layout_get_clip_region (priv->layout, lx, ly, range, 1); cairo_region_get_extents (range_clip, &clip_extents); + gtk_snapshot_push_clip (snapshot, &GRAPHENE_RECT_FROM_RECT (&clip_extents), "Selected Text"); gtk_snapshot_render_background (snapshot, context, x, 0, width, height); gtk_snapshot_render_layout (snapshot, context, lx, ly, priv->layout); gtk_snapshot_pop (snapshot); + cairo_region_destroy (range_clip); + gtk_style_context_restore (context); } else if (info) @@ -3995,6 +3998,8 @@ gtk_label_snapshot (GtkWidget *widget, gtk_snapshot_render_layout (snapshot, context, lx, ly, priv->layout); gtk_snapshot_pop (snapshot); + cairo_region_destroy (range_clip); + gtk_style_context_restore (context); } |