summaryrefslogtreecommitdiff
path: root/desktop/browser.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2014-10-29 22:14:48 +0000
committerVincent Sanders <vince@kyllikki.org>2014-10-29 22:29:06 +0000
commita221fa721360e4aef1488eddc4891e10c26cb73d (patch)
tree08312f5f7b4e20ead32c028fad0e31293b2195f0 /desktop/browser.c
parent847e1111bce323ba5277c4babf70c5441233bcd7 (diff)
downloadnetsurf-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.c7
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;