c4ad52b
--- gdm-2.20.0/daemon/gdm-daemon-config.c	2007-09-19 16:40:33.000000000 -0600
c4ad52b
+++ gdm-2.20.0/daemon/gdm-daemon-config.c	2007-09-19 16:17:30.000000000 -0600
c4ad52b
@@ -2846,10 +2846,20 @@
c4ad52b
 	gchar *cfgstr;
c4ad52b
 
c4ad52b
 	cfgstr = g_build_filename (home_dir, ".dmrc", NULL);
c4ad52b
-
c4ad52b
 	dmrc = gdm_common_config_load (cfgstr, NULL);
c4ad52b
 	if (dmrc == NULL) {
c4ad52b
-		return;
c4ad52b
+                gint fd = -1;
c4ad52b
+		gdm_debug ("file: %s does not exist - creating it", cfgstr);
c4ad52b
+		VE_IGNORE_EINTR (fd = g_open (cfgstr, O_CREAT | O_TRUNC | O_RDWR, 0644));
c4ad52b
+		if (fd < 0) return;
c4ad52b
+		write (fd, "\n", 2);
c4ad52b
+		close (fd);
c4ad52b
+                dmrc = gdm_common_config_load (cfgstr, NULL);
c4ad52b
+                if (dmrc == NULL) {
c4ad52b
+			gdm_debug ("failed to open %s after creating it", cfgstr);
c4ad52b
+			return;
c4ad52b
+		} 
c4ad52b
+
c4ad52b
 	}
c4ad52b
 
c4ad52b
 	if (savesess) {