diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2012-12-15 14:39:01 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2012-12-15 14:39:01 +0000 |
commit | 2a42b028b2c407cdd796a487d738370ee96e7d9b (patch) | |
tree | 2eba778c75ae46e5c94b77f2103e9378c00a7a9e | |
parent | 8c74aeb6e17bbd97544bc41120c2d7d7a5c2b66c (diff) | |
download | netsurf-2a42b028b2c407cdd796a487d738370ee96e7d9b.tar.gz netsurf-2a42b028b2c407cdd796a487d738370ee96e7d9b.tar.bz2 |
Check the checked state of the menu items a more correct way
-rwxr-xr-x | amiga/menu.c | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/amiga/menu.c b/amiga/menu.c index a12ed82ff..3d9b98e16 100755 --- a/amiga/menu.c +++ b/amiga/menu.c @@ -862,17 +862,35 @@ static void ami_menu_item_browser_cookies(struct Hook *hook, APTR window, struct static void ami_menu_item_browser_foreimg(struct Hook *hook, APTR window, struct IntuiMessage *msg) { - nsoption_set_bool(foreground_images, !nsoption_bool(foreground_images)); + struct Menu *menustrip; + bool checked = false; + + GetAttr(WINDOW_MenuStrip, (Object *)window, (ULONG *)&menustrip); + if(ItemAddress(menustrip, msg->Code)->Flags & CHECKED) checked = true; + + nsoption_set_bool(foreground_images, checked); } static void ami_menu_item_browser_backimg(struct Hook *hook, APTR window, struct IntuiMessage *msg) { - nsoption_set_bool(background_images, !nsoption_bool(background_images)); + struct Menu *menustrip; + bool checked = false; + + GetAttr(WINDOW_MenuStrip, (Object *)window, (ULONG *)&menustrip); + if(ItemAddress(menustrip, msg->Code)->Flags & CHECKED) checked = true; + + nsoption_set_bool(background_images, checked); } static void ami_menu_item_browser_enablejs(struct Hook *hook, APTR window, struct IntuiMessage *msg) { - nsoption_set_bool(enable_javascript, !nsoption_bool(enable_javascript)); + struct Menu *menustrip; + bool checked = false; + + GetAttr(WINDOW_MenuStrip, (Object *)window, (ULONG *)&menustrip); + if(ItemAddress(menustrip, msg->Code)->Flags & CHECKED) checked = true; + + nsoption_set_bool(enable_javascript, checked); } static void ami_menu_item_browser_scale_decrease(struct Hook *hook, APTR window, struct IntuiMessage *msg) |