summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Soriano <csoriano@gnome.org>2016-01-13 18:51:11 +0100
committerCarlos Soriano <csoriano@gnome.org>2016-01-18 11:01:43 +0100
commite8029eb73c130882f2c85eb41087587395ddb420 (patch)
treefda12daa03a2dba3fcf07a60eed65f2ab743d9a7
parent42da011b755781a95e1e04a38c7245702627a9e8 (diff)
downloadnautilus-e8029eb73c130882f2c85eb41087587395ddb420.tar.gz
files-view: move disconnect_signal calls to destroy
So we have all the disconnection in one place and we avoid random callbacks while destroying. https://bugzilla.gnome.org/show_bug.cgi?id=759717
-rw-r--r--src/nautilus-files-view.c25
1 files changed, 12 insertions, 13 deletions
diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c
index 2c93a8afc..2bb3a4dcd 100644
--- a/src/nautilus-files-view.c
+++ b/src/nautilus-files-view.c
@@ -2853,6 +2853,18 @@ nautilus_files_view_destroy (GtkWidget *object)
view->details->floating_bar_loading_timeout_id = 0;
}
+ g_signal_handlers_disconnect_by_func (nautilus_preferences,
+ schedule_update_context_menus, view);
+ g_signal_handlers_disconnect_by_func (nautilus_preferences,
+ click_policy_changed_callback, view);
+ g_signal_handlers_disconnect_by_func (nautilus_preferences,
+ sort_directories_first_changed_callback, view);
+ g_signal_handlers_disconnect_by_func (gtk_filechooser_preferences,
+ show_hidden_files_changed_callback, view);
+ g_signal_handlers_disconnect_by_func (nautilus_window_state,
+ nautilus_files_view_display_selection_info, view);
+ g_signal_handlers_disconnect_by_func (gnome_lockdown_preferences,
+ schedule_update_context_menus, view);
if (view->details->directory_as_file) {
nautilus_file_unref (view->details->directory_as_file);
@@ -2875,19 +2887,6 @@ nautilus_files_view_finalize (GObject *object)
view = NAUTILUS_FILES_VIEW (object);
- g_signal_handlers_disconnect_by_func (nautilus_preferences,
- schedule_update_context_menus, view);
- g_signal_handlers_disconnect_by_func (nautilus_preferences,
- click_policy_changed_callback, view);
- g_signal_handlers_disconnect_by_func (nautilus_preferences,
- sort_directories_first_changed_callback, view);
- g_signal_handlers_disconnect_by_func (gtk_filechooser_preferences,
- show_hidden_files_changed_callback, view);
- g_signal_handlers_disconnect_by_func (nautilus_window_state,
- nautilus_files_view_display_selection_info, view);
-
- g_signal_handlers_disconnect_by_func (gnome_lockdown_preferences,
- schedule_update_context_menus, view);
g_clear_object (&view->details->view_action_group);
g_clear_object (&view->details->background_menu);
g_clear_object (&view->details->selection_menu);