summaryrefslogtreecommitdiff
path: root/riscos
diff options
context:
space:
mode:
authorRichard Wilson <rjw@netsurf-browser.org>2006-01-02 15:57:55 +0000
committerRichard Wilson <rjw@netsurf-browser.org>2006-01-02 15:57:55 +0000
commit9fb14f4d93ddb40f16f3864700c877562ed1cec1 (patch)
tree2286ac92f575641b1ddd310fe3fce30c5533a996 /riscos
parent0f6fd9bba3d3c5962e0afe2587b3e092dfd878f2 (diff)
downloadnetsurf-9fb14f4d93ddb40f16f3864700c877562ed1cec1.tar.gz
netsurf-9fb14f4d93ddb40f16f3864700c877562ed1cec1.tar.bz2
[project @ 2006-01-02 15:57:55 by rjw]
Only pass on selection changes. svn path=/import/netsurf/; revision=1950
Diffstat (limited to 'riscos')
-rw-r--r--riscos/wimp_event.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/riscos/wimp_event.c b/riscos/wimp_event.c
index aad95a4db..590b17062 100644
--- a/riscos/wimp_event.c
+++ b/riscos/wimp_event.c
@@ -363,21 +363,20 @@ bool ro_gui_wimp_event_menu_selection(wimp_w w, wimp_i i, wimp_menu *menu,
return false;
for (event = window->first; event; event = event->next)
- if (event->i == i)
+ if ((event->type == EVENT_MENU_GRIGHT) && (event->i == i))
break;
if (!event)
return false;
- if (event->type != EVENT_MENU_GRIGHT) {
- LOG(("Incorrect or missing menu reference."));
- return false;
- }
-
menu_entry = &menu->entries[selection->items[0]];
for (i = 1; selection->items[i] != -1; i++)
menu_entry = &menu_entry->sub_menu->
entries[selection->items[i]];
+ /* if the entry is already ticked then we do nothing */
+ if (menu_entry->menu_flags & wimp_MENU_TICKED)
+ return true;
+
ro_gui_set_icon_string(window->w, event->data.menu_gright.field,
menu_entry->data.indirected_text.text);
ro_gui_wimp_event_prepare_menu(window->w, event);