diff options
author | Vincent Sanders <vince@kyllikki.org> | 2014-10-29 22:14:48 +0000 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2014-10-29 22:29:06 +0000 |
commit | a221fa721360e4aef1488eddc4891e10c26cb73d (patch) | |
tree | 08312f5f7b4e20ead32c028fad0e31293b2195f0 /desktop/browser.c | |
parent | 847e1111bce323ba5277c4babf70c5441233bcd7 (diff) | |
download | netsurf-a221fa721360e4aef1488eddc4891e10c26cb73d.tar.gz netsurf-a221fa721360e4aef1488eddc4891e10c26cb73d.tar.bz2 |
Ensure browser window creation returns errors from common initialisation.
The browser window common initialisation code returns error codes which
were being ignored. The errors were additionally being reported via
warn_user in inappropriate places within browser history construction.
Diffstat (limited to 'desktop/browser.c')
-rw-r--r-- | desktop/browser.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/desktop/browser.c b/desktop/browser.c index e6fc2f794..a13c2948e 100644 --- a/desktop/browser.c +++ b/desktop/browser.c @@ -752,6 +752,7 @@ nserror browser_window_create(enum browser_window_create_flags flags, { gui_window_create_flags gw_flags = GW_CREATE_NONE; struct browser_window *ret; + nserror err; /* Check parameters */ if (flags & BW_CREATE_CLONE) { @@ -778,7 +779,11 @@ nserror browser_window_create(enum browser_window_create_flags flags, NULL); /* Initialise common parts */ - browser_window_initialise_common(flags, ret, existing); + err = browser_window_initialise_common(flags, ret, existing); + if (err != NSERROR_OK) { + browser_window_destroy(ret); + return err; + } /* window characteristics */ ret->browser_window_type = BROWSER_WINDOW_NORMAL; |