]> git.street.me.uk Git - andy/viking.git/blobdiff - src/viklayer_defaults.c
Fix recent commit: 4dc72a1d407b81853d0093871cff45ef1f47d1b8
[andy/viking.git] / src / viklayer_defaults.c
index a962a5d6e590f0a303caa175a534fa9e68c76cc9..f8da1aa0a15f5d46188ab549b1fff1a3e622d57f 100644 (file)
@@ -233,9 +233,10 @@ static gboolean layer_defaults_save_to_file()
                answer = FALSE;
                goto tidy;
        }
-    // Layer defaults not that secret, but just incase...
-       g_chmod ( fn, 0600 );
-       
+       // Layer defaults not that secret, but just incase...
+       if ( g_chmod ( fn, 0600 ) != 0 )
+               g_warning ( "%s: Failed to set permissions on %s", __FUNCTION__, fn );
+
        fputs ( keyfilestr, ff );
        fclose ( ff );
 
@@ -389,3 +390,25 @@ VikLayerParamData a_layer_defaults_get ( const gchar *layername, const gchar *pa
   
        return get_default_data ( layername, param_name, param_type );
 }
+
+/**
+ * a_layer_defaults_save:
+ *
+ * Call this function to save the current layer defaults
+ * Normally should only be performed if any layer defaults have been changed via direct manipulation of the layer
+ *  rather than the user changing the preferences via the dialog window above
+ *
+ * This must only be performed once all layer parameters have been initialized
+ *
+ * Returns: %TRUE if saving was successful
+ */
+gboolean a_layer_defaults_save ()
+{
+       // Generate defaults
+       VikLayerTypeEnum layer;
+       for ( layer = 0; layer < VIK_LAYER_NUM_TYPES; layer++ ) {
+               use_internal_defaults_if_missing_default ( layer );
+       }
+
+       return layer_defaults_save_to_file();
+}