Lagrange [release]

Mobile: Native input widgets was leaking key events

=> b8a3d1d7ea0cd34e3bacf87e06d90a5b4d73d8f3

diff --git a/res/about/ios-version.gmi b/res/about/ios-version.gmi
index bffd11f8..9e3be676 100644
--- a/res/about/ios-version.gmi
+++ b/res/about/ios-version.gmi
@@ -7,6 +7,7 @@
 # Release notes
 
 ## 1.18 (4)
+* Fixed accidental navigation when editing text with the keyboard.
 * Misfin: URI format has changed to "misfin:address?message" instead of the previously used "misfin://address". The optional query string ("message") is used as the initial message contents if the upload dialog's text editor is empty.
 * Fixed redirection counting (and related warnings) when requesting Titan URIs.
 * Updated UI translations.
diff --git a/src/ui/inputwidget.c b/src/ui/inputwidget.c
index 63b7fa21..593b32dd 100644
--- a/src/ui/inputwidget.c
+++ b/src/ui/inputwidget.c
@@ -2679,7 +2679,6 @@ static iBool processEvent_InputWidget_(iInputWidget *d, const SDL_Event *ev) {
                         return iTrue;
                     }
                 }
-#endif
                 if (d->inFlags & enterKeyEnabled_InputWidgetFlag &&
                     (checkAcceptMods_InputWidget_(d, mods) ||
                      (~d->inFlags & lineBreaksEnabled_InputWidgetFlag))) {
@@ -2695,6 +2694,10 @@ static iBool processEvent_InputWidget_(iInputWidget *d, const SDL_Event *ev) {
                     return iTrue;
                 }
                 return iFalse;
+#else
+                /* Native input handles Return key. */
+                return iTrue;
+#endif
             case SDLK_ESCAPE:
                 end_InputWidget(d, iTrue);
                 setFocus_Widget(NULL);
@@ -2865,7 +2868,18 @@ static iBool processEvent_InputWidget_(iInputWidget *d, const SDL_Event *ev) {
                 }
                 refresh_Widget(d);
                 return iTrue;
-#endif /* !LAGRANGE_USE_SYSTEM_TEXT_INPUT */
+#else /* !LAGRANGE_USE_SYSTEM_TEXT_INPUT */
+            /* The native input handles cursor movements. */
+            case SDLK_HOME:
+            case SDLK_END:
+            case SDLK_LEFT:
+            case SDLK_RIGHT:
+            case SDLK_UP:
+            case SDLK_DOWN:
+            case SDLK_PAGEUP:
+            case SDLK_PAGEDOWN:
+                return iTrue;
+#endif
         }
         if (mods & (KMOD_GUI | KMOD_CTRL)) {
             return iFalse;
Proxy Information
Original URL
gemini://git.skyjake.fi/lagrange/release/cdiff/b8a3d1d7ea0cd34e3bacf87e06d90a5b4d73d8f3
Status Code
Success (20)
Meta
text/gemini; charset=utf-8
Capsule Response Time
25.603077 milliseconds
Gemini-to-HTML Time
0.601369 milliseconds

This content has been proxied by September (ba2dc).