From: Matthias Clasen Date: Sun, 5 Jul 2015 02:32:06 +0000 (-0400) Subject: places sidebar: Fix memory handling of rename popover X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2~24^2~9148 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=8b90c79037be95cb9a5c93c8e5145e9da0cd316e;p=gtk4.git places sidebar: Fix memory handling of rename popover We were freeing the same string twice here, leading to badness. --- diff --git a/gtk/gtkplacessidebar.c b/gtk/gtkplacessidebar.c index f833ea912e..5f92fac93b 100644 --- a/gtk/gtkplacessidebar.c +++ b/gtk/gtkplacessidebar.c @@ -2435,7 +2435,7 @@ show_rename_popover (GtkSidebarRow *row) if (sidebar->rename_uri) g_free (sidebar->rename_uri); - sidebar->rename_uri = uri; + sidebar->rename_uri = g_strdup (uri); gtk_entry_set_text (GTK_ENTRY (sidebar->rename_entry), name); gtk_popover_set_relative_to (GTK_POPOVER (sidebar->rename_popover), GTK_WIDGET (row)); @@ -3942,6 +3942,15 @@ gtk_places_sidebar_dispose (GObject *object) sidebar->popup_menu = NULL; } + if (sidebar->rename_popover) + { + gtk_widget_destroy (sidebar->rename_popover); + sidebar->rename_popover = NULL; + sidebar->rename_entry = NULL; + sidebar->rename_button = NULL; + sidebar->rename_error = NULL; + } + if (sidebar->trash_monitor) { g_signal_handler_disconnect (sidebar->trash_monitor, sidebar->trash_monitor_changed_id);