diff options
author | Matthias Clasen <mclasen@redhat.com> | 2011-02-02 22:05:26 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2011-02-02 22:05:26 -0500 |
commit | 7894ff4bcbdb4c19c4f52d1d5e043377355e0e52 (patch) | |
tree | 52bd3432a7ef16387aaffeca509c6cc26f46256b /gtk/gtklabel.c | |
parent | a7a606e61a61f71ec6e347055d5251b604ffa93c (diff) | |
download | gtk+-7894ff4bcbdb4c19c4f52d1d5e043377355e0e52.tar.gz |
Don't g_object_unref cairo surfaces
This was causing warnings when dragging text from labels.
Diffstat (limited to 'gtk/gtklabel.c')
-rw-r--r-- | gtk/gtklabel.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c index 12b0d6a33c..a99f7a1b63 100644 --- a/gtk/gtklabel.c +++ b/gtk/gtklabel.c @@ -4883,22 +4883,24 @@ drag_begin_cb (GtkWidget *widget, if (end > len) end = len; - + if (start > len) start = len; - - surface = _gtk_text_util_create_drag_icon (widget, - priv->text + start, - end - start); + + surface = _gtk_text_util_create_drag_icon (widget, + priv->text + start, + end - start); } if (surface) - gtk_drag_set_icon_surface (context, surface); + { + gtk_drag_set_icon_surface (context, surface); + cairo_surface_destroy (surface); + } else - gtk_drag_set_icon_default (context); - - if (surface) - g_object_unref (surface); + { + gtk_drag_set_icon_default (context); + } } static gboolean |