SDL: Fixed OTP text entry on iOS (thanks @pipiwoaini!)

From 51b401d418671b1261d240b8ef08bf5993b4c2e2 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Tue, 21 Oct 2025 15:45:02 -0700
Subject: [PATCH] Fixed OTP text entry on iOS (thanks @pipiwoaini!)

Fixes https://github.com/libsdl-org/SDL/issues/13717
---
 src/video/uikit/SDL_uikitviewcontroller.m | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/video/uikit/SDL_uikitviewcontroller.m b/src/video/uikit/SDL_uikitviewcontroller.m
index fadca557491e2..6bdefae955493 100644
--- a/src/video/uikit/SDL_uikitviewcontroller.m
+++ b/src/video/uikit/SDL_uikitviewcontroller.m
@@ -575,6 +575,10 @@ - (void)keyboardDidHide:(NSNotification *)notification
 - (void)textFieldTextDidChange:(NSNotification *)notification
 {
     if (textField.markedTextRange == nil) {
+        if (isOTPMode && labs((NSInteger)textField.text.length - (NSInteger)committedText.length) != 1) {
+            return;
+        }
+
         NSUInteger compareLength = SDL_min(textField.text.length, committedText.length);
         NSUInteger matchLength;