diff options
author | Cosimo Cecchi <cosimoc@gnome.org> | 2009-03-19 17:39:50 +0000 |
---|---|---|
committer | Cosimo Cecchi <cosimoc@src.gnome.org> | 2009-03-19 17:39:50 +0000 |
commit | 236c368831ce16ab14b6b799716c81f4def79a90 (patch) | |
tree | eae9297d56b13f89b364dc7e905c999c91161b7d | |
parent | c730d79b7b23b5edbb4e24b1c44408555631257c (diff) | |
download | nautilus-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-- | ChangeLog | 9 | ||||
-rw-r--r-- | src/nautilus-window-menus.c | 10 | ||||
-rw-r--r-- | src/nautilus-window-private.h | 1 | ||||
-rw-r--r-- | src/nautilus-window.c | 1 |
4 files changed, 21 insertions, 0 deletions
@@ -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); |