[nautilus] all: don't return a reference when getting the application singleton



commit 4c37f5a1c1c7861b45359e36a5efd868cf3f3bb0
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Thu Jun 16 11:55:16 2011 -0400

    all: don't return a reference when getting the application singleton
    
    This simplifies the code a bit. Also, remove the useless "app" property
    on NautilusWindow while we're at it.

 src/nautilus-application.c                   |    5 ++---
 src/nautilus-application.h                   |    2 +-
 src/nautilus-bookmarks-window.c              |    4 ----
 src/nautilus-connect-server-dialog-nonmain.c |    7 +------
 src/nautilus-location-bar.c                  |    5 ++---
 src/nautilus-main.c                          |    2 +-
 src/nautilus-places-sidebar.c                |   12 ++----------
 src/nautilus-progress-ui-handler.c           |    7 ++-----
 src/nautilus-window-manage-views.c           |   10 +++-------
 src/nautilus-window-menus.c                  |   15 +++------------
 src/nautilus-window-private.h                |    2 --
 src/nautilus-window.c                        |   23 +++++------------------
 src/nautilus-window.h                        |    2 --
 13 files changed, 22 insertions(+), 74 deletions(-)
---
diff --git a/src/nautilus-application.c b/src/nautilus-application.c
index fc8a3d3..6010e91 100644
--- a/src/nautilus-application.c
+++ b/src/nautilus-application.c
@@ -489,7 +489,6 @@ create_window (NautilusApplication *application,
 	g_return_val_if_fail (NAUTILUS_IS_APPLICATION (application), NULL);
 	
 	window = g_object_new (NAUTILUS_TYPE_WINDOW,
-			       "app", application,
 			       "screen", screen,
 			       NULL);
 
@@ -792,7 +791,7 @@ nautilus_application_constructor (GType type,
         GObject *retval;
 
         if (singleton != NULL) {
-                return g_object_ref (singleton);
+                return G_OBJECT (singleton);
         }
 
         retval = G_OBJECT_CLASS (nautilus_application_parent_class)->constructor
@@ -1236,7 +1235,7 @@ nautilus_application_class_init (NautilusApplicationClass *class)
 }
 
 NautilusApplication *
-nautilus_application_dup_singleton (void)
+nautilus_application_get_singleton (void)
 {
 	return g_object_new (NAUTILUS_TYPE_APPLICATION,
 			     "application-id", "org.gnome.NautilusApplication",
diff --git a/src/nautilus-application.h b/src/nautilus-application.h
index 52e69cd..278065a 100644
--- a/src/nautilus-application.h
+++ b/src/nautilus-application.h
@@ -67,7 +67,7 @@ typedef struct {
 
 GType nautilus_application_get_type (void);
 
-NautilusApplication *nautilus_application_dup_singleton (void);
+NautilusApplication *nautilus_application_get_singleton (void);
 
 void nautilus_application_quit (NautilusApplication *self);
 
diff --git a/src/nautilus-bookmarks-window.c b/src/nautilus-bookmarks-window.c
index 14f3cad..b9e6d0b 100644
--- a/src/nautilus-bookmarks-window.c
+++ b/src/nautilus-bookmarks-window.c
@@ -64,7 +64,6 @@ static int                   row_activated_signal_id;
 static int                   button_pressed_signal_id;
 static int                   key_pressed_signal_id;
 static int                   jump_button_signal_id;
-static NautilusApplication  *application;
 
 /* forward declarations */
 static guint    get_selected_row                            (void);
@@ -265,8 +264,6 @@ create_bookmarks_window (NautilusBookmarkList *list, GObject *undo_manager_sourc
 	remove_button = (GtkWidget *)gtk_builder_get_object (builder, "bookmark_delete_button");
 	jump_button = (GtkWidget *)gtk_builder_get_object (builder, "bookmark_jump_button");
 
-	application = nautilus_application_dup_singleton ();
-
 	set_up_close_accelerator (window);
 	nautilus_undo_share_undo_manager (G_OBJECT (window), undo_manager_source);
 
@@ -912,7 +909,6 @@ on_window_destroy_event (GtkWidget *widget,
 {
 	g_object_unref (bookmark_list_store);
 	g_object_unref (bookmark_empty_list_store);
-	g_object_unref (application);
 	g_source_remove_by_user_data (widget);
 }
 
diff --git a/src/nautilus-connect-server-dialog-nonmain.c b/src/nautilus-connect-server-dialog-nonmain.c
index 70b82a2..bcf29a4 100644
--- a/src/nautilus-connect-server-dialog-nonmain.c
+++ b/src/nautilus-connect-server-dialog-nonmain.c
@@ -68,7 +68,6 @@ nautilus_connect_server_dialog_display_location_async (NautilusConnectServerDial
 {
 	NautilusWindow *window;
 	GtkWidget *widget;
-	NautilusApplication *application;
 
 	widget = GTK_WIDGET (self);
 
@@ -77,13 +76,9 @@ nautilus_connect_server_dialog_display_location_async (NautilusConnectServerDial
 					   callback, user_data,
 					   nautilus_connect_server_dialog_display_location_async);
 
-	application = nautilus_application_dup_singleton ();
-
-	window = nautilus_application_create_window (application,
+	window = nautilus_application_create_window (nautilus_application_get_singleton (),
 						     gtk_widget_get_screen (widget));
 
 	nautilus_window_go_to_full (window, location,
 				    window_go_to_cb, self);
-
-	g_object_unref (application);
 }
diff --git a/src/nautilus-location-bar.c b/src/nautilus-location-bar.c
index bb04143..b83a5a9 100644
--- a/src/nautilus-location-bar.c
+++ b/src/nautilus-location-bar.c
@@ -33,6 +33,7 @@
 #include <config.h>
 #include "nautilus-location-bar.h"
 
+#include "nautilus-application.h"
 #include "nautilus-location-entry.h"
 #include "nautilus-window-private.h"
 #include "nautilus-window.h"
@@ -212,7 +213,7 @@ drag_data_received_callback (GtkWidget *widget,
 	if (new_windows_for_extras) {
 		int i;
 
-		application = nautilus_application_dup_singleton ();
+		application = nautilus_application_get_singleton ();
 		screen = gtk_window_get_screen (GTK_WINDOW (window));
 
 		for (i = 1; names[i] != NULL; ++i) {
@@ -221,8 +222,6 @@ drag_data_received_callback (GtkWidget *widget,
 			nautilus_window_go_to (new_window, location);
 			g_object_unref (location);
 		}
-
-		g_object_unref (application);
 	}
 
 	g_strfreev (names);
diff --git a/src/nautilus-main.c b/src/nautilus-main.c
index 43e44cb..17af97d 100644
--- a/src/nautilus-main.c
+++ b/src/nautilus-main.c
@@ -97,7 +97,7 @@ main (int argc, char *argv[])
 #endif
 
 	/* Run the nautilus application. */
-	application = nautilus_application_dup_singleton ();
+	application = nautilus_application_get_singleton ();
 
 	retval = g_application_run (G_APPLICATION (application),
 				    argc, argv);
diff --git a/src/nautilus-places-sidebar.c b/src/nautilus-places-sidebar.c
index ae1d746..a775bad 100644
--- a/src/nautilus-places-sidebar.c
+++ b/src/nautilus-places-sidebar.c
@@ -1734,16 +1734,12 @@ volume_mounted_cb (GVolume *volume,
 				nautilus_window_slot_open_location (sidebar->go_to_after_mount_slot, location,
 								    sidebar->go_to_after_mount_flags, NULL);
 			} else {
-				NautilusApplication *app;
 				NautilusWindow *new, *cur;
 
 				cur = NAUTILUS_WINDOW (sidebar->window);
-				app = nautilus_application_dup_singleton ();
-				new = nautilus_application_create_window (app,
+				new = nautilus_application_create_window (nautilus_application_get_singleton (),
 									  gtk_window_get_screen (GTK_WINDOW (cur)));
 				nautilus_window_go_to (new, location);
-
-				g_object_unref (app);
 			}
 		}
 
@@ -1806,15 +1802,11 @@ open_selected_bookmark (NautilusPlacesSidebar *sidebar,
 							    flags, NULL);
 		} else {
 			NautilusWindow *cur, *new;
-			NautilusApplication *app;
 			
 			cur = NAUTILUS_WINDOW (sidebar->window);
-			app = nautilus_application_dup_singleton ();
-			new = nautilus_application_create_window (app,
+			new = nautilus_application_create_window (nautilus_application_get_singleton (),
 								  gtk_window_get_screen (GTK_WINDOW (cur)));
 			nautilus_window_go_to (new, location);
-
-			g_object_unref (app);
 		}
 		g_object_unref (location);
 		g_free (uri);
diff --git a/src/nautilus-progress-ui-handler.c b/src/nautilus-progress-ui-handler.c
index 83b6ae2..b938f0e 100644
--- a/src/nautilus-progress-ui-handler.c
+++ b/src/nautilus-progress-ui-handler.c
@@ -382,10 +382,8 @@ release_application (NautilusProgressInfo *info,
 	NautilusApplication *app;
 
 	/* release the GApplication hold we acquired */
-	app = nautilus_application_dup_singleton ();
+	app = nautilus_application_get_singleton ();
 	g_application_release (G_APPLICATION (app));
-
-	g_object_unref (app);
 }
 
 static void
@@ -396,9 +394,8 @@ progress_info_started_cb (NautilusProgressInfo *info,
 	TimeoutData *data;
 
 	/* hold GApplication so we never quit while there's an operation pending */
-	app = nautilus_application_dup_singleton ();
+	app = nautilus_application_get_singleton ();
 	g_application_hold (G_APPLICATION (app));
-	g_object_unref (app);
 
 	g_signal_connect (info, "finished",
 			  G_CALLBACK (release_application), self);
diff --git a/src/nautilus-window-manage-views.c b/src/nautilus-window-manage-views.c
index fe69712..ea82b07 100644
--- a/src/nautilus-window-manage-views.c
+++ b/src/nautilus-window-manage-views.c
@@ -494,11 +494,10 @@ nautilus_window_slot_open_location_full (NautilusWindowSlot *slot,
 	if (use_same) {
 		target_window = window;
 	} else {
-		app = nautilus_application_dup_singleton ();
+		app = nautilus_application_get_singleton ();
 		target_window = nautilus_application_create_window
 			(app,
 			 gtk_window_get_screen (GTK_WINDOW (window)));
-		g_object_unref (app);
 	}
 
         g_assert (target_window != NULL);
@@ -846,6 +845,7 @@ got_file_info_for_view_selection_callback (NautilusFile *file,
 	GFile *location;
 	GMountOperation *mount_op;
 	MountNotMountedData *data;
+	NautilusApplication *app;
 
 	slot = callback_data;
 	g_assert (NAUTILUS_IS_WINDOW_SLOT (slot));
@@ -964,9 +964,7 @@ got_file_info_for_view_selection_callback (NautilusFile *file,
 			 */
 			/* if this is the only window, we don't want to quit, so we redirect it to home */
 
-			NautilusApplication *app;
-
-			app = nautilus_application_dup_singleton ();
+			app = nautilus_application_get_singleton ();
 			
 			if (g_list_length (gtk_application_get_windows (GTK_APPLICATION (app))) == 1) {
 				/* the user could have typed in a home directory that doesn't exist,
@@ -991,8 +989,6 @@ got_file_info_for_view_selection_callback (NautilusFile *file,
 				/* Since this is a window, destroying it will also unref it. */
 				gtk_widget_destroy (GTK_WIDGET (window));
 			}
-
-			g_object_unref (app);
 		} else {
 			/* Clean up state of already-showing window */
 			end_location_change (slot);
diff --git a/src/nautilus-window-menus.c b/src/nautilus-window-menus.c
index 8bdf027..375021b 100644
--- a/src/nautilus-window-menus.c
+++ b/src/nautilus-window-menus.c
@@ -112,10 +112,8 @@ action_undo_callback (GtkAction *action,
 {
 	NautilusApplication *app;
 
-	app = nautilus_application_dup_singleton ();
+	app = nautilus_application_get_singleton ();
 	nautilus_undo_manager_undo (app->undo_manager);
-
-	g_object_unref (app);
 }
 
 static void
@@ -540,12 +538,7 @@ static void
 action_close_all_windows_callback (GtkAction *action, 
 				   gpointer user_data)
 {
-	NautilusApplication *app;
-
-	app = nautilus_application_dup_singleton ();
-	nautilus_application_close_all_windows (app);
-
-	g_object_unref (app);
+	nautilus_application_close_all_windows (nautilus_application_get_singleton ());
 }
 
 static void
@@ -833,14 +826,12 @@ action_new_window_callback (GtkAction *action,
 	NautilusWindow *current_window, *new_window;
 
 	current_window = NAUTILUS_WINDOW (user_data);
-	application = nautilus_application_dup_singleton ();
+	application = nautilus_application_get_singleton ();
 
 	new_window = nautilus_application_create_window (
 				application,
 				gtk_window_get_screen (GTK_WINDOW (current_window)));
 	nautilus_window_slot_go_home (nautilus_window_get_active_slot (new_window), FALSE);
-
-	g_object_unref (application);
 }
 
 static void
diff --git a/src/nautilus-window-private.h b/src/nautilus-window-private.h
index 6a660f3..2c44871 100644
--- a/src/nautilus-window-private.h
+++ b/src/nautilus-window-private.h
@@ -85,8 +85,6 @@ struct NautilusWindowDetails
 	 */
 	gboolean initiated_unmount;
 
-        NautilusApplication *application;
-
         GtkWidget *content_paned;
         GtkWidget *content_box;
         NautilusNavigationState *nav_state;
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index 4d8ed37..1d23133 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -107,8 +107,7 @@ static void use_extra_mouse_buttons_changed          (gpointer
 #define UPPER_MOUSE_LIMIT 14
 
 enum {
-	PROP_APP = 1,
-	PROP_DISABLE_CHROME,
+	PROP_DISABLE_CHROME = 1,
 	NUM_PROPERTIES,
 };
 
@@ -570,8 +569,10 @@ nautilus_window_constructed (GObject *self)
 	GtkWidget *vbox;
 	NautilusWindowPane *pane;
 	NautilusWindowSlot *slot;
+	NautilusApplication *application;
 
 	window = NAUTILUS_WINDOW (self);
+	application = nautilus_application_get_singleton ();
 
 	G_OBJECT_CLASS (nautilus_window_parent_class)->constructed (self);
 
@@ -651,7 +652,7 @@ nautilus_window_constructed (GObject *self)
 
 	nautilus_window_initialize_bookmarks_menu (window);
 	nautilus_window_set_initial_window_geometry (window);
-	nautilus_undo_manager_attach (window->details->application->undo_manager, G_OBJECT (window));
+	nautilus_undo_manager_attach (application->undo_manager, G_OBJECT (window));
 
 	slot = nautilus_window_open_slot (window->details->active_pane, 0);
 	nautilus_window_set_active_slot (window, slot);
@@ -668,9 +669,6 @@ nautilus_window_set_property (GObject *object,
 	window = NAUTILUS_WINDOW (object);
 	
 	switch (arg_id) {
-	case PROP_APP:
-		window->details->application = NAUTILUS_APPLICATION (g_value_get_object (value));
-		break;
 	case PROP_DISABLE_CHROME:
 		window->details->disable_chrome = g_value_get_boolean (value);
 		break;
@@ -691,9 +689,6 @@ nautilus_window_get_property (GObject *object,
 	window = NAUTILUS_WINDOW (object);
 
 	switch (arg_id) {
-	case PROP_APP:
-		g_value_set_object (value, window->details->application);
-		break;
 	case PROP_DISABLE_CHROME:
 		g_value_set_boolean (value, window->details->disable_chrome);
 		break;
@@ -1772,7 +1767,7 @@ nautilus_forget_history (void)
 	GList *window_node, *l, *walk;
 	NautilusApplication *app;
 
-	app = nautilus_application_dup_singleton ();
+	app = nautilus_application_get_singleton ();
 
 	/* Clear out each window's back & forward lists. Also, remove 
 	 * each window's current location bookmark from history list 
@@ -1799,8 +1794,6 @@ nautilus_forget_history (void)
 		nautilus_window_allow_back (window, FALSE);
 		nautilus_window_allow_forward (window, FALSE);
 	}
-
-	g_object_unref (app);
 }
 
 NautilusWindowType
@@ -2088,12 +2081,6 @@ nautilus_window_class_init (NautilusWindowClass *class)
 	class->bookmarks_placeholder = MENU_PATH_BOOKMARKS_PLACEHOLDER;
 	class->get_icon = real_get_icon;
 
-	properties[PROP_APP] =
-		g_param_spec_object ("app",
-				     "Application",
-				     "The NautilusApplication associated with this window.",
-				     NAUTILUS_TYPE_APPLICATION,
-				     G_PARAM_READWRITE | G_PARAM_CONSTRUCT);
 	properties[PROP_DISABLE_CHROME] =
 		g_param_spec_boolean ("disable-chrome",
 				      "Disable chrome",
diff --git a/src/nautilus-window.h b/src/nautilus-window.h
index 7d3fd25..f4249e9 100644
--- a/src/nautilus-window.h
+++ b/src/nautilus-window.h
@@ -62,8 +62,6 @@ typedef enum {
 
 GType          nautilus_window_slot_get_type (void);
 
-#include "nautilus-application.h"
-
 typedef enum {
         NAUTILUS_WINDOW_NOT_SHOWN,
         NAUTILUS_WINDOW_POSITION_SET,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]