diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2012-12-15 15:39:09 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2012-12-15 15:39:09 +0000 |
commit | 8e416ec2265fda98de4b1ea027b1ff0998e20205 (patch) | |
tree | 54b579d565bca9ad1af71e5eaf58209ee7539e5f /amiga/gui.c | |
parent | 79b1496d3054a68cc5dcdf27677ed58667c099b3 (diff) | |
download | netsurf-8e416ec2265fda98de4b1ea027b1ff0998e20205.tar.gz netsurf-8e416ec2265fda98de4b1ea027b1ff0998e20205.tar.bz2 |
Ensure the menu checked state remain in sync with reality
Diffstat (limited to 'amiga/gui.c')
-rwxr-xr-x | amiga/gui.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/amiga/gui.c b/amiga/gui.c index d92a5c25a..e1fc19d7f 100755 --- a/amiga/gui.c +++ b/amiga/gui.c @@ -1191,6 +1191,27 @@ void ami_gui_trap_mouse(struct gui_window_2 *gwin) } } +void ami_gui_menu_update_all(void) +{ + struct nsObject *node; + struct nsObject *nnode; + struct gui_window_2 *gwin; + + if(IsMinListEmpty(window_list)) return; + + node = (struct nsObject *)GetHead((struct List *)window_list); + + do { + nnode=(struct nsObject *)GetSucc((struct Node *)node); + gwin = node->objstruct; + + if(node->Type == AMINS_WINDOW) + { + ami_menu_update_checked(gwin); + } + } while(node = nnode); +} + void ami_handle_msg(void) { struct IntuiMessage *message = NULL; @@ -1944,6 +1965,11 @@ void ami_handle_msg(void) ami_menu_window_close = NULL; } + + if(ami_menu_check_toggled) { + ami_gui_menu_update_all(); + ami_menu_check_toggled = false; + } } void ami_gui_appicon_remove(struct gui_window_2 *gwin) |