summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--riscos/search.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/riscos/search.c b/riscos/search.c
index 891a4a5a6..a160c028e 100644
--- a/riscos/search.c
+++ b/riscos/search.c
@@ -111,7 +111,6 @@ void ro_gui_search_init(void) {
*/
bool ro_gui_search_next(wimp_w w) {
search_insert = true;
- ro_gui_search_add_recent(ro_gui_get_icon_string(dialog_search, ICON_SEARCH_TEXT));
start_search(true);
return false;
}
@@ -120,7 +119,6 @@ bool ro_gui_search_click(wimp_pointer *pointer) {
switch (pointer->i) {
case ICON_SEARCH_FIND_PREV:
search_insert = true;
- ro_gui_search_add_recent(ro_gui_get_icon_string(dialog_search, ICON_SEARCH_TEXT));
start_search(false);
return true;
case ICON_SEARCH_CASE_SENSITIVE:
@@ -145,10 +143,8 @@ void ro_gui_search_add_recent(char *search) {
}
if ((recent_search[0] != NULL) &&
- (!strcmp(recent_search[0], search))) {
- search_insert = false;
+ (!strcmp(recent_search[0], search)))
return;
- }
tmp = strdup(search);
if (!tmp) {
@@ -178,6 +174,7 @@ bool ro_gui_search_prepare_menu(void) {
return false;
for (i = 0; i < suggestions; i++) {
+ recent_search_menu->entries[i].menu_flags &= ~wimp_MENU_LAST;
recent_search_menu->entries[i].data.indirected_text.text =
recent_search[i];
recent_search_menu->entries[i].data.indirected_text.size =
@@ -255,11 +252,11 @@ bool ro_gui_search_keypress(wimp_key *key)
return true;
case wimp_KEY_UP:
search_insert = true;
- ro_gui_search_add_recent(ro_gui_get_icon_string(dialog_search, ICON_SEARCH_TEXT));
start_search(false);
return true;
case wimp_KEY_DOWN:
- ro_gui_search_next(dialog_search);
+ search_insert = true;
+ start_search(true);
return true;
default: