summaryrefslogtreecommitdiff
path: root/beos/gui.cpp
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2013-02-14 18:21:11 +0000
committerVincent Sanders <vince@netsurf-browser.org>2013-02-18 11:23:48 +0000
commitb112dec78d5e8289ded3f61db96e495690ae96b5 (patch)
tree9babaed21ed2eb841b8d398e28814544c73656d9 /beos/gui.cpp
parent3bfb5b96a7c7cb2718a60987e69cd659ed49b9d8 (diff)
downloadnetsurf-b112dec78d5e8289ded3f61db96e495690ae96b5.tar.gz
netsurf-b112dec78d5e8289ded3f61db96e495690ae96b5.tar.bz2
change browser_window_create and refactor all callsites
Diffstat (limited to 'beos/gui.cpp')
-rw-r--r--beos/gui.cpp29
1 files changed, 24 insertions, 5 deletions
diff --git a/beos/gui.cpp b/beos/gui.cpp
index c556d45e5..3a164133f 100644
--- a/beos/gui.cpp
+++ b/beos/gui.cpp
@@ -426,14 +426,33 @@ nsurl *gui_get_resource_url(const char *path)
static void gui_init2(int argc, char** argv)
{
- const char *addr = NETSURF_HOMEPAGE;
+ const char *addr;
+ nsurl *url;
+ nserror error;
- if (nsoption_charp(homepage_url) != NULL)
+ if (argc > 1) {
+ addr = argv[1];
+ } else if (nsoption_charp(homepage_url) != NULL) {
addr = nsoption_charp(homepage_url);
+ } else {
+ addr = NETSURF_HOMEPAGE;
+ }
+
+ /* create an initial browser window */
+ error = nsurl_create(addr, &url);
+ if (error == NSERROR_OK) {
+ error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE |
+ BROWSER_WINDOW_GO_FLAG_HISTORY,
+ url,
+ NULL,
+ NULL,
+ NULL);
+ nsurl_unref(url);
+ }
+ if (error != NSERROR_OK) {
+ warn_user(messages_get_errorcode(error), 0);
+ }
- if (argc > 1) addr = argv[1];
- if (gFirstRefsReceived) addr = NULL;
- browser_window_create(addr, 0, 0, true, false);
if (gFirstRefsReceived) {
// resend the refs we got before having a window to send them to
be_app_messenger.SendMessage(gFirstRefsReceived);