diff options
author | Richard Wilson <rjw@netsurf-browser.org> | 2006-01-02 15:57:55 +0000 |
---|---|---|
committer | Richard Wilson <rjw@netsurf-browser.org> | 2006-01-02 15:57:55 +0000 |
commit | 9fb14f4d93ddb40f16f3864700c877562ed1cec1 (patch) | |
tree | 2286ac92f575641b1ddd310fe3fce30c5533a996 /riscos | |
parent | 0f6fd9bba3d3c5962e0afe2587b3e092dfd878f2 (diff) | |
download | netsurf-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.c | 11 |
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);
|