From e00fb7bd2d8eed482d6d9eac1d7fec09e079a25b Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Mon, 29 Mar 2010 20:03:44 +0000 Subject: second pass at startup refactor removing the gui_init callback svn path=/trunk/netsurf/; revision=10205 --- gtk/gtk_gui.c | 58 ++++++++++++++++++++++++++-------------------------------- 1 file changed, 26 insertions(+), 32 deletions(-) (limited to 'gtk/gtk_gui.c') diff --git a/gtk/gtk_gui.c b/gtk/gtk_gui.c index 00d668a4f..ba2052083 100644 --- a/gtk/gtk_gui.c +++ b/gtk/gtk_gui.c @@ -119,9 +119,11 @@ static void nsgtk_PDF_no_pass(GtkButton *w, gpointer data); /** * Initialize GTK interface. */ -void gui_init(int argc, char** argv) +static void gui_init(int argc, char** argv) { char buf[PATH_MAX]; + struct browser_window *bw; + const char *addr = NETSURF_HOMEPAGE; nsgtk_check_homedir(); @@ -147,11 +149,6 @@ void gui_init(int argc, char** argv) option_core_select_menu = true; - nsgtk_find_resource(buf, "Choices", "~/.netsurf/Choices"); - LOG(("Using '%s' as Preferences file", buf)); - options_file_location = strdup(buf); - options_read(buf); - /* check what the font settings are, setting them to a default font * if they're not set - stops Pango whinging */ @@ -193,9 +190,6 @@ void gui_init(int argc, char** argv) option_downloads_directory = home; } - nsgtk_find_resource(buf, "messages", "./gtk/res/messages"); - LOG(("Using '%s' as Messages file", buf)); - messages_load(buf); nsgtk_find_resource(buf, "mime.types", "/etc/mime.types"); gtk_fetch_filetype_init(buf); @@ -233,6 +227,18 @@ void gui_init(int argc, char** argv) nsgtk_history_init(); nsgtk_download_init(); + + + if (option_homepage_url != NULL && option_homepage_url[0] != '\0') + addr = option_homepage_url; + + if (2 <= argc) + addr = argv[1]; + + /* Last step of initialization. Opens the main browser window. */ + + bw = browser_window_create(addr, 0, 0, true, false); + } @@ -297,39 +303,27 @@ void nsgtk_init_glade(void) wndWarning = GTK_WINDOW(glade_xml_get_widget(gladeWarning, "wndWarning")); } - -/** - * Last step of initialization. - * - * Opens the main browser window. - */ -static void gui_init2(int argc, char** argv) -{ - struct browser_window *bw; - const char *addr = NETSURF_HOMEPAGE; - - if (option_homepage_url != NULL && option_homepage_url[0] != '\0') - addr = option_homepage_url; - - if (2 <= argc) - addr = argv[1]; - - bw = browser_window_create(addr, 0, 0, true, false); -} - /** * Main entry point from OS. */ int main(int argc, char** argv) { - gtk_init(&argc, &argv); + char options[PATH_MAX]; + char messages[PATH_MAX]; + gtk_init(&argc, &argv); + + /* set standard error to be non-buffering */ setbuf(stderr, NULL); + nsgtk_find_resource(messages, "messages", "./gtk/res/messages"); + nsgtk_find_resource(options, "Choices", "~/.netsurf/Choices"); + options_file_location = strdup(options); + /* initialise netsurf */ - netsurf_init(argc, argv); + netsurf_init(&argc, &argv, options, messages); - gui_init2(argc, argv); + gui_init(argc, argv); netsurf_main_loop(); -- cgit v1.2.3