diff options
author | Christian Neumair <cneumair@gnome.org> | 2008-04-04 17:04:42 +0000 |
---|---|---|
committer | Christian Neumair <cneumair@src.gnome.org> | 2008-04-04 17:04:42 +0000 |
commit | 82b55c7acf7911f74cc384af59c51c7fea7a733d (patch) | |
tree | d7d67667a85b0be641cd41a6a126a46e6db231ff | |
parent | f1fe6aca9f5a8367e2af5b96192ca2290cb7e4a4 (diff) | |
download | nautilus-82b55c7acf7911f74cc384af59c51c7fea7a733d.tar.gz |
Move finalize to dispose, unset pointers to window/tree_view, use
2008-04-04 Christian Neumair <cneumair@gnome.org>
* src/nautilus-places-sidebar.c (nautilus_places_sidebar_init),
(nautilus_places_sidebar_dispose),
(nautilus_places_sidebar_class_init):
Move finalize to dispose, unset pointers to window/tree_view, use
eel_preferences_add_callback_while_alive().
svn path=/branches/gnome-2-22/; revision=14040
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | src/nautilus-places-sidebar.c | 27 |
2 files changed, 24 insertions, 12 deletions
@@ -1,3 +1,12 @@ +2008-04-04 Christian Neumair <cneumair@gnome.org> + + * src/nautilus-places-sidebar.c (nautilus_places_sidebar_init), + (nautilus_places_sidebar_dispose), + (nautilus_places_sidebar_class_init): + + Move finalize to dispose, unset pointers to window/tree_view, use + eel_preferences_add_callback_while_alive(). + 2008-04-04 Cosimo Cecchi <cosimoc@gnome.org> * libnautilus-extension/nautilus-file-info.c: diff --git a/src/nautilus-places-sidebar.c b/src/nautilus-places-sidebar.c index 40a913214..0d009b40f 100644 --- a/src/nautilus-places-sidebar.c +++ b/src/nautilus-places-sidebar.c @@ -1950,9 +1950,10 @@ nautilus_places_sidebar_init (NautilusPlacesSidebar *sidebar) g_signal_connect (tree_view, "button-press-event", G_CALLBACK (bookmarks_button_press_event_cb), sidebar); - eel_preferences_add_callback (NAUTILUS_PREFERENCES_CLICK_POLICY, - click_policy_changed_callback, - sidebar); + eel_preferences_add_callback_while_alive (NAUTILUS_PREFERENCES_CLICK_POLICY, + click_policy_changed_callback, + sidebar, + G_OBJECT (sidebar)); update_click_policy (sidebar); eel_preferences_add_callback_while_alive (NAUTILUS_PREFERENCES_DESKTOP_IS_HOME_DIR, @@ -1967,12 +1968,15 @@ nautilus_places_sidebar_init (NautilusPlacesSidebar *sidebar) } static void -nautilus_places_sidebar_finalize (GObject *object) +nautilus_places_sidebar_dispose (GObject *object) { NautilusPlacesSidebar *sidebar; - + sidebar = NAUTILUS_PLACES_SIDEBAR (object); + sidebar->window = NULL; + sidebar->tree_view = NULL; + g_free (sidebar->uri); sidebar->uri = NULL; @@ -1983,19 +1987,18 @@ nautilus_places_sidebar_finalize (GObject *object) sidebar->store = NULL; } - g_object_unref (sidebar->volume_monitor); - - eel_preferences_remove_callback (NAUTILUS_PREFERENCES_CLICK_POLICY, - click_policy_changed_callback, - sidebar); + if (sidebar->volume_monitor != NULL) { + g_object_unref (sidebar->volume_monitor); + sidebar->volume_monitor = NULL; + } - G_OBJECT_CLASS (nautilus_places_sidebar_parent_class)->finalize (object); + G_OBJECT_CLASS (nautilus_places_sidebar_parent_class)->dispose (object); } static void nautilus_places_sidebar_class_init (NautilusPlacesSidebarClass *class) { - G_OBJECT_CLASS (class)->finalize = nautilus_places_sidebar_finalize; + G_OBJECT_CLASS (class)->dispose = nautilus_places_sidebar_dispose; GTK_WIDGET_CLASS (class)->style_set = nautilus_places_sidebar_style_set; } |