51 lines
1.5 KiB
Diff
51 lines
1.5 KiB
Diff
From e777d620374a5d3664064f535001ea5d57fcf639 Mon Sep 17 00:00:00 2001
|
|
From: Nils Philippsen <nils@redhat.com>
|
|
Date: Sat, 20 Apr 2013 14:25:29 +0200
|
|
Subject: [PATCH] patch: tag-popup-crash
|
|
|
|
Squashed commit of the following:
|
|
|
|
commit fd4fc76e2114b8ab9341232912c2d19b6160ccd6
|
|
Author: Nils Philippsen <nils@redhat.com>
|
|
Date: Tue Apr 16 11:16:41 2013 +0200
|
|
|
|
app: let the tag popup own its tag objects
|
|
|
|
This should fix crashes in which tag objects got accessed after they
|
|
were disposed, because they still were stored with the popup object.
|
|
(cherry picked from commit b109e0580650b4b49b6f00b15fec4bcd330fb045)
|
|
---
|
|
app/widgets/gimptagpopup.c | 9 +++++++++
|
|
1 file changed, 9 insertions(+)
|
|
|
|
diff --git a/app/widgets/gimptagpopup.c b/app/widgets/gimptagpopup.c
|
|
index f822ab2..fd913c2 100644
|
|
--- a/app/widgets/gimptagpopup.c
|
|
+++ b/app/widgets/gimptagpopup.c
|
|
@@ -257,6 +257,8 @@ gimp_tag_popup_constructed (GObject *object)
|
|
tag_data->tag = tag_iterator->data;
|
|
tag_data->state = GTK_STATE_NORMAL;
|
|
|
|
+ g_object_ref (tag_data->tag);
|
|
+
|
|
for (j = 0; j < current_count; j++)
|
|
{
|
|
if (! gimp_tag_compare_with_string (tag_data->tag, current_tags[j]))
|
|
@@ -386,6 +388,13 @@ gimp_tag_popup_dispose (GObject *object)
|
|
|
|
if (popup->tag_data)
|
|
{
|
|
+ gint i;
|
|
+
|
|
+ for (i = 0; i < popup->tag_count; i++)
|
|
+ {
|
|
+ g_object_unref (popup->tag_data[i].tag);
|
|
+ }
|
|
+
|
|
g_free (popup->tag_data);
|
|
popup->tag_data = NULL;
|
|
}
|
|
--
|
|
1.8.1.4
|
|
|