summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormonsta <[email protected]>2016-04-21 17:15:34 +0300
committermonsta <[email protected]>2016-04-21 17:15:34 +0300
commit9a86c2cbc0b1e75f9073461ead8bc2d917694921 (patch)
tree21fa8c27927c67d0b94c9046bd0f1e1154d5f0b4
parent355a7dc4209ab6b0ddfdd5597c99d9a2ae63c406 (diff)
downloadcaja-9a86c2cbc0b1e75f9073461ead8bc2d917694921.tar.bz2
caja-9a86c2cbc0b1e75f9073461ead8bc2d917694921.tar.xz
prefs dialog: don't crash on toggling "Show hidden and backup files"
adapted from: https://git.gnome.org/browse/nautilus/commit/?id=7428762ea6601abba086fcc5e57f443b2e2b40b5 fixes https://github.com/mate-desktop/caja/issues/326
-rw-r--r--src/caja-window-menus.c25
-rw-r--r--src/caja-window-private.h2
-rw-r--r--src/caja-window.c2
3 files changed, 16 insertions, 13 deletions
diff --git a/src/caja-window-menus.c b/src/caja-window-menus.c
index da442f59..4f1f0677 100644
--- a/src/caja-window-menus.c
+++ b/src/caja-window-menus.c
@@ -986,6 +986,20 @@ caja_window_initialize_menus (CajaWindow *window)
caja_window_initialize_trash_icon_monitor (window);
}
+void
+caja_window_finalize_menus (CajaWindow *window)
+{
+ CajaTrashMonitor *monitor;
+
+ monitor = caja_trash_monitor_get ();
+
+ g_signal_handlers_disconnect_by_func (monitor,
+ trash_state_changed_cb, window);
+
+ g_signal_handlers_disconnect_by_func (caja_preferences,
+ show_hidden_files_preference_callback, window);
+}
+
static GList *
get_extension_menus (CajaWindow *window)
{
@@ -1123,14 +1137,3 @@ caja_window_load_extension_menus (CajaWindow *window)
}
}
-void
-caja_window_remove_trash_monitor_callback (CajaWindow *window)
-{
- CajaTrashMonitor *monitor;
-
- monitor = caja_trash_monitor_get ();
-
- g_signal_handlers_disconnect_by_func (monitor,
- trash_state_changed_cb, window);
-}
-
diff --git a/src/caja-window-private.h b/src/caja-window-private.h
index 73a9c29c..1147163f 100644
--- a/src/caja-window-private.h
+++ b/src/caja-window-private.h
@@ -168,7 +168,7 @@ void caja_window_set_status (CajaWindow
void caja_window_load_view_as_menus (CajaWindow *window);
void caja_window_load_extension_menus (CajaWindow *window);
void caja_window_initialize_menus (CajaWindow *window);
-void caja_window_remove_trash_monitor_callback (CajaWindow *window);
+void caja_window_finalize_menus (CajaWindow *window);
CajaWindowPane *caja_window_get_next_pane (CajaWindow *window);
void caja_menus_append_bookmark_to_menu (CajaWindow *window,
CajaBookmark *bookmark,
diff --git a/src/caja-window.c b/src/caja-window.c
index 03a01032..1eca5977 100644
--- a/src/caja-window.c
+++ b/src/caja-window.c
@@ -682,7 +682,7 @@ caja_window_finalize (GObject *object)
window = CAJA_WINDOW (object);
- caja_window_remove_trash_monitor_callback (window);
+ caja_window_finalize_menus (window);
free_stored_viewers (window);
if (window->details->bookmark_list != NULL)