diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2012-10-31 20:50:22 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2012-10-31 20:50:22 +0000 |
commit | efbfbbc96732ba7b0b8f526b07c776908c79533b (patch) | |
tree | 11b32c201b648c1139ea152ec4503a1373371878 /amiga/gui.c | |
parent | 116cd6aa435a0ef81724825993c22190476e15ef (diff) | |
download | netsurf-efbfbbc96732ba7b0b8f526b07c776908c79533b.tar.gz netsurf-efbfbbc96732ba7b0b8f526b07c776908c79533b.tar.bz2 |
Fix a serious crash that occurs if the underlying window is closed during a hook function invoked from it.
Diffstat (limited to 'amiga/gui.c')
-rwxr-xr-x | amiga/gui.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/amiga/gui.c b/amiga/gui.c index 15ac1f553..37f054776 100755 --- a/amiga/gui.c +++ b/amiga/gui.c @@ -1927,6 +1927,16 @@ void ami_handle_msg(void) ami_update_throbber(gwin, true); refresh_throbber = FALSE; } + + if(ami_menu_window_close) + { + if(ami_menu_window_close == AMI_MENU_WINDOW_CLOSE_ALL) + ami_quit_netsurf(); + else + ami_close_all_tabs(ami_menu_window_close); + + ami_menu_window_close = NULL; + } } void ami_gui_appicon_remove(struct gui_window_2 *gwin) @@ -2276,6 +2286,8 @@ void ami_quit_netsurf(void) } } while(node = nnode); + + win_destroyed = true; } if(IsMinListEmpty(window_list)) |