summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2019-08-14 19:31:45 +0100
committerDaniel Silverstone <dsilvers@digital-scurf.org>2019-08-14 19:31:45 +0100
commitc903c881e62ce020f53da0b03f4e8f388b9bd986 (patch)
treef91c8d70b04af7e8af45722e1e3d168a4e4c91c0 /desktop
parent5cd45cf7f0093b6b5518d753e4d2738902c8dc35 (diff)
downloadnetsurf-c903c881e62ce020f53da0b03f4e8f388b9bd986.tar.gz
netsurf-c903c881e62ce020f53da0b03f4e8f388b9bd986.tar.bz2
browser_window: handle 'back to safety' cleanly
In order to ensure we actually go back to safety, clear the curent loading parameters, and transfer the load parameters for where we're going into them to be closer to a real navigate, otherwise we end up copying the wrong loading parameters over the top when we complete the back-to-safety navigation. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
Diffstat (limited to 'desktop')
-rw-r--r--desktop/browser_window.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/desktop/browser_window.c b/desktop/browser_window.c
index acefc7854..cf5ba6800 100644
--- a/desktop/browser_window.c
+++ b/desktop/browser_window.c
@@ -873,7 +873,11 @@ browser_window__handle_ssl_query_response(bool proceed, void *pw)
bw->current_parameters.flags &= ~BW_NAVIGATE_HISTORY;
bw->internal_nav = false;
- return browser_window__navigate_internal(bw, &bw->current_parameters);
+
+ browser_window__free_fetch_parameters(&bw->loading_parameters);
+ memcpy(&bw->loading_parameters, &bw->current_parameters, sizeof(bw->loading_parameters));
+ memset(&bw->current_parameters, 0, sizeof(bw->current_parameters));
+ return browser_window__navigate_internal(bw, &bw->loading_parameters);
}
/* We're processing a "proceed" attempt from the form */