From a221fa721360e4aef1488eddc4891e10c26cb73d Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 29 Oct 2014 22:14:48 +0000 Subject: 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. --- desktop/browser.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'desktop/browser.c') 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; -- cgit v1.2.3