]> spindle.queued.net Git - midori/commitdiff
Fix config file writability test and search engine error workaround
authorChristian Dywan <christian@twotoasts.de>
Mon, 16 Feb 2009 02:05:25 +0000 (03:05 +0100)
committerChristian Dywan <christian@twotoasts.de>
Mon, 16 Feb 2009 02:05:25 +0000 (03:05 +0100)
After the change to recognize read-only configuration files new
files would never be written anymore. Also the default search
engines wouldn't be used if no search engines file existed.

midori/main.c

index fcadcd1c194d96bda077ec2e2e5761e25e3b9b5f..d412cd99920a17556e0bacf91d75a0b62be82af8 100644 (file)
@@ -32,7 +32,9 @@
 
 #if HAVE_UNISTD_H
     #include <unistd.h>
-    #define is_writable(_cfg_filename) !g_access (_cfg_filename, W_OK)
+    #define is_writable(_cfg_filename) \
+        !g_access (_cfg_filename, W_OK) || \
+        !g_file_test (_cfg_filename, G_FILE_TEST_EXISTS)
 #else
     #define is_writable(_cfg_filename) 1
 #endif
@@ -1823,7 +1825,8 @@ main (int    argc,
     error = NULL;
     search_engines = search_engines_new_from_file (config_file, &error);
     /* We ignore for instance empty files */
-    if (error && error->code == G_KEY_FILE_ERROR_PARSE)
+    if (error && (error->code == G_KEY_FILE_ERROR_PARSE
+        || error->code == G_FILE_ERROR_NOENT))
     {
         g_error_free (error);
         error = NULL;