From e777d620374a5d3664064f535001ea5d57fcf639 Mon Sep 17 00:00:00 2001 From: Nils Philippsen 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 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