]> git.street.me.uk Git - andy/viking.git/blobdiff - src/viklayer.c
Now when we refresh tiles it will remove them from the memory cache like it was suppo...
[andy/viking.git] / src / viklayer.c
index aef7a9cb54cb7b591f2c22f1ed0574d765b38d5d..434db3d63d4627c03fe17d9204b6937d2cf277d7 100644 (file)
@@ -405,7 +405,7 @@ void vik_layer_post_read ( VikLayer *layer, gpointer vp )
 
 static GtkWidget *properties_widget_new_widget ( VikLayerParam *param, VikLayerParamData data )
 {
-  GtkWidget *rv;
+  GtkWidget *rv = NULL;
   switch ( param->widget_type )
   {
     case VIK_LAYER_WIDGET_COLOR:
@@ -444,14 +444,16 @@ static GtkWidget *properties_widget_new_widget ( VikLayerParam *param, VikLayerP
       break;
 #endif
     case VIK_LAYER_WIDGET_RADIOGROUP:
+      /* widget_data and extra_widget_data are GList */
       if ( param->type == VIK_LAYER_PARAM_UINT && param->widget_data )
       {
-        rv = vik_radio_group_new ( (const gchar **) param->widget_data );
+        rv = vik_radio_group_new ( param->widget_data );
         if ( param->extra_widget_data ) /* map of alternate uint values for options */
         {
           int i;
-          for ( i = 0; ((const char **)param->widget_data)[i]; i++ )
-            if ( ((guint *)param->extra_widget_data)[i] == data.u )
+         int nb_elem = g_list_length(param->widget_data);
+          for ( i = 0; i < nb_elem; i++ )
+            if ( g_list_nth_data(param->extra_widget_data, i) == data.u )
             {
               vik_radio_group_set_selected ( VIK_RADIO_GROUP(rv), i );
               break;
@@ -521,7 +523,7 @@ static VikLayerParamData properties_widget_get_value ( GtkWidget *widget, VikLay
     case VIK_LAYER_WIDGET_RADIOGROUP:
       rv.u = vik_radio_group_get_selected(VIK_RADIO_GROUP(widget));
       if ( param->extra_widget_data )
-        rv.u = ((guint *)param->extra_widget_data)[rv.u];
+        rv.u = (guint *)g_list_nth_data(param->extra_widget_data, rv.u);
       break;
     case VIK_LAYER_WIDGET_SPINBUTTON:
       if ( param->type == VIK_LAYER_PARAM_UINT )