summaryrefslogtreecommitdiff
path: root/riscos/dialog.c
diff options
context:
space:
mode:
Diffstat (limited to 'riscos/dialog.c')
-rw-r--r--riscos/dialog.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/riscos/dialog.c b/riscos/dialog.c
index 208850c0d..aaeed4e89 100644
--- a/riscos/dialog.c
+++ b/riscos/dialog.c
@@ -214,6 +214,10 @@ void ro_gui_dialog_open(wimp_w w)
open.visible.y1 = screen_y + dy;
open.next = wimp_TOP;
wimp_open_window((wimp_open *) &open);
+
+ /* Set the caret position
+ */
+ ro_gui_set_caret_first(w);
}
@@ -252,6 +256,10 @@ void ro_gui_dialog_open_persistant(wimp_w parent, wimp_w w) {
open.next = wimp_TOP;
wimp_open_window((wimp_open *) &open);
+ /* Set the caret position
+ */
+ ro_gui_set_caret_first(w);
+
/* Add a mapping
*/
if (parent == NULL) return;
@@ -295,6 +303,12 @@ void ro_gui_dialog_close_persistant(wimp_w parent) {
bool ro_gui_dialog_keypress(wimp_key *key)
{
+
+ if (key->c == wimp_KEY_ESCAPE) {
+ ro_gui_dialog_close(key->w);
+ return true;
+ }
+
#ifdef WITH_AUTH
if (key->w == dialog_401li)
return ro_gui_401login_keypress(key);