summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCosimo Cecchi <cosimoc@gnome.org>2009-03-19 17:39:50 +0000
committerCosimo Cecchi <cosimoc@src.gnome.org>2009-03-19 17:39:50 +0000
commit236c368831ce16ab14b6b799716c81f4def79a90 (patch)
treeeae9297d56b13f89b364dc7e905c999c91161b7d
parentc730d79b7b23b5edbb4e24b1c44408555631257c (diff)
downloadnautilus-236c368831ce16ab14b6b799716c81f4def79a90.tar.gz
Remember to disconnect the signal handler to the trash monitor when
2009-03-19 Cosimo Cecchi <cosimoc@gnome.org> * src/nautilus-window-menus.c: (nautilus_window_remove_trash_monitor_callback): * src/nautilus-window-private.h: * src/nautilus-window.c: (nautilus_window_finalize): Remember to disconnect the signal handler to the trash monitor when finalizing the window, as we don't own that object. svn path=/trunk/; revision=15143
-rw-r--r--ChangeLog9
-rw-r--r--src/nautilus-window-menus.c10
-rw-r--r--src/nautilus-window-private.h1
-rw-r--r--src/nautilus-window.c1
4 files changed, 21 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 39a01472f..73ef28d77 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
2009-03-19 Cosimo Cecchi <cosimoc@gnome.org>
+ * src/nautilus-window-menus.c:
+ (nautilus_window_remove_trash_monitor_callback):
+ * src/nautilus-window-private.h:
+ * src/nautilus-window.c: (nautilus_window_finalize):
+ Remember to disconnect the signal handler to the trash monitor
+ when finalizing the window, as we don't own that object.
+
+2009-03-19 Cosimo Cecchi <cosimoc@gnome.org>
+
* configure.in: bump required GTK+ version to 2.16.0.
* src/nautilus-window-menus.c: (trash_state_changed_cb),
(nautilus_window_initialize_trash_icon_monitor),
diff --git a/src/nautilus-window-menus.c b/src/nautilus-window-menus.c
index 2848c1a11..ce512be0c 100644
--- a/src/nautilus-window-menus.c
+++ b/src/nautilus-window-menus.c
@@ -1058,4 +1058,14 @@ nautilus_window_load_extension_menus (NautilusWindow *window)
}
}
+void
+nautilus_window_remove_trash_monitor_callback (NautilusWindow *window)
+{
+ NautilusTrashMonitor *monitor;
+
+ monitor = nautilus_trash_monitor_get ();
+
+ g_signal_handlers_disconnect_by_func (monitor,
+ trash_state_changed_cb, window);
+}
diff --git a/src/nautilus-window-private.h b/src/nautilus-window-private.h
index 7d7337bdf..c92c4bd18 100644
--- a/src/nautilus-window-private.h
+++ b/src/nautilus-window-private.h
@@ -165,6 +165,7 @@ void nautilus_window_set_status (Nautil
void nautilus_window_load_view_as_menus (NautilusWindow *window);
void nautilus_window_load_extension_menus (NautilusWindow *window);
void nautilus_window_initialize_menus (NautilusWindow *window);
+void nautilus_window_remove_trash_monitor_callback (NautilusWindow *window);
void nautilus_menus_append_bookmark_to_menu (NautilusWindow *window,
NautilusBookmark *bookmark,
const char *parent_path,
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index a15558227..eaa099fe3 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -620,6 +620,7 @@ nautilus_window_finalize (GObject *object)
window = NAUTILUS_WINDOW (object);
nautilus_window_remove_bookmarks_menu_callback (window);
+ nautilus_window_remove_trash_monitor_callback (window);
free_stored_viewers (window);