summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Neumair <cneumair@gnome.org>2008-04-04 17:04:42 +0000
committerChristian Neumair <cneumair@src.gnome.org>2008-04-04 17:04:42 +0000
commit82b55c7acf7911f74cc384af59c51c7fea7a733d (patch)
treed7d67667a85b0be641cd41a6a126a46e6db231ff
parentf1fe6aca9f5a8367e2af5b96192ca2290cb7e4a4 (diff)
downloadnautilus-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--ChangeLog9
-rw-r--r--src/nautilus-places-sidebar.c27
2 files changed, 24 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index e78b3c45c..0e7043928 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;
}