Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > a1a3b09d180e3020b714f5a1f383687b > files > 1

dia-0.96.1-4mdv2009.0.src.rpm

--- dia-0.95-pre1/app/app_procs.c.diagtkrc	2006-02-12 14:56:58.000000000 +0100
+++ dia-0.95-pre1/app/app_procs.c	2006-02-13 11:11:53.000000000 +0100
@@ -111,6 +111,7 @@
 		       char *show_layers);
 
 static void create_user_dirs(void);
+static void create_user_files(void);
 static PluginInitResult internal_plugin_init(PluginInfo *info);
 static void process_opts(int argc, char **argv,
 #if USE_GOPTION
@@ -662,6 +663,7 @@
   static char *show_layers = NULL;
   gboolean made_conversions = FALSE;
   GSList *files = NULL;
+  gchar *rc;
 
   gchar *export_format_string = 
      /* Translators:  The argument is a list of options, not to be translated */
@@ -854,15 +856,20 @@
 
     gdk_rgb_init();
 
-    gtk_rc_parse("diagtkrc"); 
 
     if (!nosplash) {
       app_splash_init("");
     }
   }
 
-  if (dia_is_interactive)
+  if (dia_is_interactive) {
     create_user_dirs();
+    create_user_files();
+
+   rc = dia_config_filename("diagtkrc");
+   gtk_rc_parse(rc); 
+   g_free(rc);
+  }
 
   /* Init cursors: */
   if (dia_is_interactive) {
@@ -1047,6 +1054,25 @@
   return TRUE;
 }
 
+static void create_user_files(void)
+{
+  gchar *rc = NULL;
+
+  rc = dia_config_filename("diagtkrc");
+
+  /* If the file does not exist, we put in our defaults */
+  if (!g_file_test(rc, G_FILE_TEST_EXISTS)) {
+    FILE *f;
+
+    /* Never mind if it fails */
+    if ((f = fopen(rc, "w"))!= NULL) {
+      fprintf(f, "gtk-can-change-accels = 1");
+      fclose(f);
+    }
+  }
+  g_free(rc);
+}
+
 static void create_user_dirs(void)
 {
   gchar *dir, *subdir;