]> git.street.me.uk Git - andy/viking.git/blobdiff - src/uibuilder.c
Fix mislabelled distance markers when using Nautical Miles.
[andy/viking.git] / src / uibuilder.c
index bb2fde07d7e582cd706495bc2715699716c4948e..d79ca43531c8fb1565cecb173bf262dc9257485c 100644 (file)
@@ -188,7 +188,7 @@ GtkWidget *a_uibuilder_new_widget ( VikLayerParam *param, VikLayerParamData data
     case VIK_LAYER_WIDGET_FILEENTRY:
       if ( param->type == VIK_LAYER_PARAM_STRING )
       {
     case VIK_LAYER_WIDGET_FILEENTRY:
       if ( param->type == VIK_LAYER_PARAM_STRING )
       {
-        rv = vik_file_entry_new (GTK_FILE_CHOOSER_ACTION_OPEN, GPOINTER_TO_INT(param->widget_data));
+        rv = vik_file_entry_new (GTK_FILE_CHOOSER_ACTION_OPEN, GPOINTER_TO_INT(param->widget_data), NULL, NULL);
         if ( vlpd.s )
           vik_file_entry_set_filename ( VIK_FILE_ENTRY(rv), vlpd.s );
       }
         if ( vlpd.s )
           vik_file_entry_set_filename ( VIK_FILE_ENTRY(rv), vlpd.s );
       }
@@ -196,7 +196,7 @@ GtkWidget *a_uibuilder_new_widget ( VikLayerParam *param, VikLayerParamData data
     case VIK_LAYER_WIDGET_FOLDERENTRY:
       if ( param->type == VIK_LAYER_PARAM_STRING )
       {
     case VIK_LAYER_WIDGET_FOLDERENTRY:
       if ( param->type == VIK_LAYER_PARAM_STRING )
       {
-        rv = vik_file_entry_new (GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, VF_FILTER_NONE);
+        rv = vik_file_entry_new (GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, VF_FILTER_NONE, NULL, NULL);
         if ( vlpd.s )
           vik_file_entry_set_filename ( VIK_FILE_ENTRY(rv), vlpd.s );
       }
         if ( vlpd.s )
           vik_file_entry_set_filename ( VIK_FILE_ENTRY(rv), vlpd.s );
       }
@@ -473,20 +473,23 @@ gint a_uibuilder_properties_factory ( const gchar *dialog_name,
         }
       }
 
         }
       }
 
-      gtk_widget_destroy ( dialog ); /* hide before redrawing. */
       g_free ( widgets );
       g_free ( labels );
       g_free ( change_values );
       if ( tables )
         g_free ( tables );
       g_free ( widgets );
       g_free ( labels );
       g_free ( change_values );
       if ( tables )
         g_free ( tables );
+      gtk_widget_destroy ( dialog ); /* hide before redrawing. */
 
       return must_redraw ? 2 : 3; /* user clicked OK */
     }
 
 
       return must_redraw ? 2 : 3; /* user clicked OK */
     }
 
+    g_free ( widgets );
+    g_free ( labels );
+    g_free ( change_values );
     if ( tables )
       g_free ( tables );
     gtk_widget_destroy ( dialog );
     if ( tables )
       g_free ( tables );
     gtk_widget_destroy ( dialog );
-    g_free ( widgets );
+
     return 0;
   }
 }
     return 0;
   }
 }