summaryrefslogtreecommitdiff
path: root/src/nautilus-window.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nautilus-window.c')
-rw-r--r--src/nautilus-window.c23
1 files changed, 8 insertions, 15 deletions
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index 43453736c..940cbeeb4 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -2183,14 +2183,14 @@ destroy_slots_foreach (gpointer data,
}
static void
-nautilus_window_destroy (GtkWidget *object)
+nautilus_window_dispose (GObject *object)
{
NautilusWindow *window;
- NautilusApplication *application;
+ GtkApplication *application;
GList *slots_copy;
window = NAUTILUS_WINDOW (object);
- application = NAUTILUS_APPLICATION (gtk_window_get_application (GTK_WINDOW (window)));
+ application = gtk_window_get_application (GTK_WINDOW (window));
DEBUG ("Destroying window");
@@ -2210,22 +2210,16 @@ nautilus_window_destroy (GtkWidget *object)
g_clear_weak_pointer (&window->active_slot);
- g_clear_signal_handler (&window->bookmarks_id, nautilus_application_get_bookmarks (application));
+ if (application != NULL)
+ {
+ g_clear_signal_handler (&window->bookmarks_id,
+ nautilus_application_get_bookmarks (NAUTILUS_APPLICATION (application)));
+ }
g_clear_handle_id (&window->in_app_notification_undo_timeout_id, g_source_remove);
nautilus_window_unexport_handle (window);
- GTK_WIDGET_CLASS (nautilus_window_parent_class)->destroy (object);
-}
-
-static void
-nautilus_window_dispose (GObject *object)
-{
- NautilusWindow *window;
-
- window = NAUTILUS_WINDOW (object);
-
g_clear_object (&window->notebook_multi_press_gesture);
G_OBJECT_CLASS (nautilus_window_parent_class)->dispose (object);
@@ -2745,7 +2739,6 @@ nautilus_window_class_init (NautilusWindowClass *class)
oclass->finalize = nautilus_window_finalize;
oclass->constructed = nautilus_window_constructed;
- wclass->destroy = nautilus_window_destroy;
wclass->show = nautilus_window_show;
wclass->realize = nautilus_window_realize;
wclass->key_press_event = nautilus_window_key_press_event;