static void preferences_run_setparam ( gpointer notused, guint16 i, VikLayerParamData data, VikLayerParam *vlparams )
{
+ // Don't change stored pointer values
+ if ( vlparams[i].type == VIK_LAYER_PARAM_PTR )
+ return;
if ( vlparams[i].type == VIK_LAYER_PARAM_STRING_LIST )
g_critical ( "Param strings not implemented in preferences"); //fake it
g_hash_table_insert ( values, (gchar *)(vlparams[i].name), vik_layer_typed_param_data_copy_from_data(vlparams[i].type, data) );
void a_preferences_register(VikLayerParam *pref, VikLayerParamData defaultval, const gchar *group_key )
{
+ // All preferences should be registered before loading
+ if ( loaded )
+ g_critical ( "REGISTERING preference %s after LOADING from " VIKING_PREFS_FILE, pref->name );
/* copy value */
VikLayerParam *newpref = g_new(VikLayerParam,1);
*newpref = *pref;
VikLayerParamData *a_preferences_get(const gchar *key)
{
if ( ! loaded ) {
+ g_debug ( "%s: First time: %s\n", __FUNCTION__, key );
/* 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();