nautilus r14048 - in branches/gnome-2-22: . src



Author: cneumair
Date: Mon Apr  7 20:12:43 2008
New Revision: 14048
URL: http://svn.gnome.org/viewvc/nautilus?rev=14048&view=rev

Log:
2008-04-07  Christian Neumair  <cneumair gnome org>

	* src/nautilus-application.c (nautilus_application_destroy),
	(automount_all_volumes_idle_cb), (finish_startup):
	* src/nautilus-application.h:
	Automount volumes in idle callback rather than during startup
	(#526471).


Modified:
   branches/gnome-2-22/ChangeLog
   branches/gnome-2-22/src/nautilus-application.c
   branches/gnome-2-22/src/nautilus-application.h

Modified: branches/gnome-2-22/src/nautilus-application.c
==============================================================================
--- branches/gnome-2-22/src/nautilus-application.c	(original)
+++ branches/gnome-2-22/src/nautilus-application.c	Mon Apr  7 20:12:43 2008
@@ -274,6 +274,11 @@
 	}
 	bonobo_object_unref (application->shell);
 
+	if (application->automount_idle_id != 0) {
+		g_source_remove (application->automount_idle_id);
+		application->automount_idle_id = 0;
+	}
+
 	EEL_CALL_PARENT (BONOBO_OBJECT_CLASS, destroy, (object));
 }
 
@@ -402,6 +407,17 @@
         nautilus_module_extension_list_free (providers);
 }
 
+static gboolean
+automount_all_volumes_idle_cb (gpointer data)
+{
+	NautilusApplication *application = NAUTILUS_APPLICATION (data);
+
+	automount_all_volumes (application);
+
+	application->automount_idle_id = 0;
+	return FALSE;
+}
+
 static void
 finish_startup (NautilusApplication *application)
 {
@@ -442,7 +458,10 @@
 	g_list_foreach (drives, (GFunc) g_object_unref, NULL);
 	g_list_free (drives);
 
-	automount_all_volumes (application);
+	application->automount_idle_id = 
+		g_idle_add_full (G_PRIORITY_LOW,
+				 automount_all_volumes_idle_cb,
+				 application, NULL);
 }
 
 static void

Modified: branches/gnome-2-22/src/nautilus-application.h
==============================================================================
--- branches/gnome-2-22/src/nautilus-application.h	(original)
+++ branches/gnome-2-22/src/nautilus-application.h	Mon Apr  7 20:12:43 2008
@@ -58,6 +58,7 @@
 	NautilusShell *shell;
 	gboolean shell_registered;
 	GVolumeMonitor *volume_monitor;
+	unsigned int automount_idle_id;
 } NautilusApplication;
 
 typedef struct {



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