diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2019-08-14 19:31:45 +0100 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2019-08-14 19:31:45 +0100 |
commit | c903c881e62ce020f53da0b03f4e8f388b9bd986 (patch) | |
tree | f91c8d70b04af7e8af45722e1e3d168a4e4c91c0 /desktop/browser_window.c | |
parent | 5cd45cf7f0093b6b5518d753e4d2738902c8dc35 (diff) | |
download | netsurf-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/browser_window.c')
-rw-r--r-- | desktop/browser_window.c | 6 |
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 */ |