]> git.tdb.fi Git - ext/subsurface.git/blobdiff - gtk-gui.c
Correctly free the GSList in file_open
[ext/subsurface.git] / gtk-gui.c
index c6b79b69076d374887b1ee44565d2af8897a06b0..ddae481b16aa9e353ffc41fd849144c02ef263f4 100644 (file)
--- a/gtk-gui.c
+++ b/gtk-gui.c
@@ -22,7 +22,6 @@ GtkWidget *error_label;
 GtkWidget *vpane, *hpane;
 int        error_count;
 
-#define DIVELIST_DEFAULT_FONT "Sans 8"
 const char *divelist_font;
 
 struct units output_units;
@@ -107,9 +106,9 @@ static void file_open(GtkWidget *w, gpointer data)
        gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(dialog), filter);
 
        if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) {
-               GSList *filenames;
+               GSList *filenames, *fn_glist;
                char *filename;
-               filenames = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(dialog));
+               filenames = fn_glist = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(dialog));
                
                GError *error = NULL;
                while(filenames != NULL) {
@@ -125,7 +124,7 @@ static void file_open(GtkWidget *w, gpointer data)
                        g_free(filename);
                        filenames = g_slist_next(filenames);
                }
-               g_slist_free(filenames);
+               g_slist_free(fn_glist);
                report_dives(FALSE);
        }
        gtk_widget_destroy(dialog);
@@ -523,11 +522,7 @@ static void about_dialog(GtkWidget *w, gpointer data)
        GdkPixbuf *logo = NULL;
 
        if (need_icon) {
-#if defined __linux__ || defined __APPLE__
-               GtkWidget *image = gtk_image_new_from_file("subsurface.svg");
-#elif defined WIN32
-               GtkWidget *image = gtk_image_new_from_file("subsurface.ico");
-#endif
+               GtkWidget *image = gtk_image_new_from_file(subsurface_icon_name());
 
                if (image) {
                        logo = gtk_image_get_pixbuf(GTK_IMAGE(image));
@@ -685,9 +680,6 @@ void init_ui(int *argcp, char ***argvp)
 
        divelist_font = subsurface_get_conf("divelist_font", PREF_STRING);
 
-       if (!divelist_font)
-               divelist_font = DIVELIST_DEFAULT_FONT;
-
        error_info_bar = NULL;
        win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        g_set_application_name ("subsurface");
@@ -703,11 +695,7 @@ void init_ui(int *argcp, char ***argvp)
                }
        }
        if (need_icon)
-#if defined __linux__ || defined __APPLE__
-               gtk_window_set_icon_from_file(GTK_WINDOW(win), "subsurface.svg", NULL);
-#elif defined WIN32
-               gtk_window_set_icon_from_file(GTK_WINDOW(win), "subsurface.ico", NULL);
-#endif
+               gtk_window_set_icon_from_file(GTK_WINDOW(win), subsurface_icon_name(), NULL);
        g_signal_connect(G_OBJECT(win), "delete-event", G_CALLBACK(on_delete), NULL);
        g_signal_connect(G_OBJECT(win), "destroy", G_CALLBACK(on_destroy), NULL);
        main_window = win;
@@ -717,7 +705,8 @@ void init_ui(int *argcp, char ***argvp)
        main_vbox = vbox;
 
        menubar = get_menubar_menu(win);
-       gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 0);
+
+       subsurface_ui_setup(settings, menubar, vbox);
 
        vpane = gtk_vpaned_new();
        gtk_box_pack_start(GTK_BOX(vbox), vpane, TRUE, TRUE, 3);
@@ -858,7 +847,7 @@ int process_ui_events(void)
                        break;
                }
        }
-       return(ret);
+       return ret;
 }