gnome-settings-daemon r334 - in trunk: . gnome-settings-daemon



Author: jensg
Date: Mon May  5 19:10:40 2008
New Revision: 334
URL: http://svn.gnome.org/viewvc/gnome-settings-daemon?rev=334&view=rev

Log:
2008-05-02  Jens Granseuer  <jensgr gmx net>

	Patch by: Brian Cameron <brian cameron sun com>

	* gnome-settings-daemon/main.c: (main): don't die when the
	user's home directory is read-only (bug #530975)


Modified:
   trunk/ChangeLog
   trunk/gnome-settings-daemon/main.c

Modified: trunk/gnome-settings-daemon/main.c
==============================================================================
--- trunk/gnome-settings-daemon/main.c	(original)
+++ trunk/gnome-settings-daemon/main.c	Mon May  5 19:10:40 2008
@@ -26,6 +26,7 @@
 #include <locale.h>
 
 #include <glib/gi18n.h>
+#include <glib/gstdio.h>
 #include <gtk/gtk.h>
 #include <libgnome/libgnome.h>
 
@@ -194,6 +195,7 @@
         GnomeProgram         *program;
         gboolean              res;
         GError               *error;
+        gboolean              create_dirs;
 
         manager = NULL;
         program = NULL;
@@ -231,13 +233,20 @@
                 goto out;
         }
 
+        /* If the user does not have a writable HOME directory, then
+           init libgnome with appropriate arguments to run without
+           needing one. */
+        create_dirs = (g_access (g_get_home_dir(), W_OK) != 0);
+
         gnome_settings_profile_start ("gnome_program_init");
         program = gnome_program_init (PACKAGE,
                                       VERSION,
                                       LIBGNOME_MODULE,
                                       argc,
                                       argv,
-                                      GNOME_PARAM_NONE);
+                                      GNOME_PARAM_CREATE_DIRECTORIES,
+                                      create_dirs,
+                                      NULL);
         gnome_settings_profile_end ("gnome_program_init");
 
         gnome_settings_profile_start ("gnome_settings_manager_new");



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