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