g_ptr_array_free ( groups_names, TRUE );
g_hash_table_destroy ( groups_keys_to_indices );
}
g_ptr_array_free ( groups_names, TRUE );
g_hash_table_destroy ( groups_keys_to_indices );
}
// if it's not in there, ignore it
oldval = g_hash_table_lookup ( values, key );
if ( ! oldval ) {
g_free(key);
// if it's not in there, ignore it
oldval = g_hash_table_lookup ( values, key );
if ( ! oldval ) {
g_free(key);
-static void preferences_run_setparam ( gpointer notused, guint16 i, VikLayerParamData data, VikLayerParam *params )
+static void preferences_run_setparam ( gpointer notused, guint16 i, VikLayerParamData data, VikLayerParam *vlparams )
- g_hash_table_insert ( values, (gchar *)(params[i].name), vik_layer_typed_param_data_copy_from_data(params[i].type, data) );
+ g_hash_table_insert ( values, (gchar *)(vlparams[i].name), vik_layer_typed_param_data_copy_from_data(vlparams[i].type, data) );
- preferences_run_setparam (NULL, 0, data, params);
+ preferences_run_setparam (NULL, 0, data, vlparams);
}
static VikLayerParamData preferences_run_getparam ( gpointer notused, guint16 i, gboolean notused2 )
}
static VikLayerParamData preferences_run_getparam ( gpointer notused, guint16 i, gboolean notused2 )
gboolean a_preferences_save_to_file()
{
gchar *fn = g_build_filename(a_get_viking_dir(), VIKING_PREFS_FILE, NULL);
gboolean a_preferences_save_to_file()
{
gchar *fn = g_build_filename(a_get_viking_dir(), VIKING_PREFS_FILE, NULL);
for ( i = 0; i < params->len; i++ ) {
param = (VikLayerParam *) g_ptr_array_index(params,i);
val = (VikLayerTypedParamData *) g_hash_table_lookup ( values, param->name );
for ( i = 0; i < params->len; i++ ) {
param = (VikLayerParam *) g_ptr_array_index(params,i);
val = (VikLayerTypedParamData *) g_hash_table_lookup ( values, param->name );
- g_assert ( val != NULL );
- file_write_layer_param ( f, param->name, val->type, val->data );
+ if ( val )
+ if ( val->type != VIK_LAYER_PARAM_PTR )
+ file_write_layer_param ( f, param->name, val->type, val->data );
(gchar **) groups_names->pdata, groups_names->len, // groups, groups_count, // groups? what groups?!
(gboolean (*) (gpointer,guint16,VikLayerParamData,gpointer,gboolean)) preferences_run_setparam,
NULL /* not used */, contiguous_params,
(gchar **) groups_names->pdata, groups_names->len, // groups, groups_count, // groups? what groups?!
(gboolean (*) (gpointer,guint16,VikLayerParamData,gpointer,gboolean)) preferences_run_setparam,
NULL /* not used */, contiguous_params,
void a_preferences_register(VikLayerParam *pref, VikLayerParamData defaultval, const gchar *group_key )
{
void a_preferences_register(VikLayerParam *pref, VikLayerParamData defaultval, const gchar *group_key )
{
g_ptr_array_free ( params, TRUE );
g_hash_table_destroy ( values );
}
g_ptr_array_free ( params, TRUE );
g_hash_table_destroy ( values );
}
/* since we can't load the file in a_preferences_init (no params registered yet),
* do it once before we get the first key. */
preferences_load_from_file();
/* since we can't load the file in a_preferences_init (no params registered yet),
* do it once before we get the first key. */
preferences_load_from_file();