nautilus r14047 - in trunk: . src



Author: cneumair
Date: Mon Apr  7 20:12:34 2008
New Revision: 14047
URL: http://svn.gnome.org/viewvc/nautilus?rev=14047&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:
   trunk/ChangeLog
   trunk/src/nautilus-application.c
   trunk/src/nautilus-application.h

Modified: trunk/src/nautilus-application.c
==============================================================================
--- trunk/src/nautilus-application.c	(original)
+++ trunk/src/nautilus-application.c	Mon Apr  7 20:12:34 2008
@@ -272,6 +272,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));
 }
 
@@ -400,6 +405,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)
 {
@@ -440,7 +456,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: trunk/src/nautilus-application.h
==============================================================================
--- trunk/src/nautilus-application.h	(original)
+++ trunk/src/nautilus-application.h	Mon Apr  7 20:12:34 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]