[gedit] Make sure the config dir exists



commit 7d13146b335762d03d3585c3c33b71a424a422c2
Author: Paolo Borelli <porelli gnome org>
Date:   Sun May 3 12:27:15 2009 +0200

    Make sure the config dir exists
    
    Make sure to create the user config dir before saving the print
    settings. Bug #580613.
---
 gedit/gedit-app.c |   29 ++++++++++++++++++++++++++++-
 1 files changed, 28 insertions(+), 1 deletions(-)

diff --git a/gedit/gedit-app.c b/gedit/gedit-app.c
index 86b662b..1809f99 100644
--- a/gedit/gedit-app.c
+++ b/gedit/gedit-app.c
@@ -127,6 +127,32 @@ gedit_app_class_init (GeditAppClass *klass)
 	g_type_class_add_private (object_class, sizeof(GeditAppPrivate));
 }
 
+static gboolean
+ensure_user_config_dir (void)
+{
+	gchar *config_dir;
+	gboolean ret = TRUE;
+	gint res;
+
+	config_dir = gedit_dirs_get_user_config_dir ();
+	if (config_dir == NULL)
+	{
+		g_warning ("Could not get config directory\n");
+		return FALSE;
+	}
+
+	res = g_mkdir_with_parents (config_dir, 0755);
+	if (res < 0)
+	{
+		g_warning ("Could not create config directory\n");
+		ret = FALSE;
+	}
+
+	g_free (config_dir);
+
+	return ret;
+}
+
 static void
 load_accels (void)
 {
@@ -407,8 +433,9 @@ window_destroy (GeditWindow *window,
 	{
 		/* Last window is gone... save some settings and exit */
 
-		save_accels ();
+		ensure_user_config_dir ();
 
+		save_accels ();
 		save_page_setup (app);
 		save_print_settings (app);
 



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