SDL: Reset text field content on text input stop

From eadc64973ab5e9950ee263f5691b5d978d1f20d7 Mon Sep 17 00:00:00 2001
From: Salman Alshamrani <[EMAIL REDACTED]>
Date: Tue, 24 Dec 2024 05:10:01 -0500
Subject: [PATCH] Reset text field content on text input stop

---
 src/video/uikit/SDL_uikitviewcontroller.m | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/video/uikit/SDL_uikitviewcontroller.m b/src/video/uikit/SDL_uikitviewcontroller.m
index c4345578d1752..d4ba09573b86f 100644
--- a/src/video/uikit/SDL_uikitviewcontroller.m
+++ b/src/video/uikit/SDL_uikitviewcontroller.m
@@ -528,6 +528,7 @@ - (bool)stopTextInput
         return true;
     }
 
+    [self resetTextState];
     return [textField resignFirstResponder];
 }
 
@@ -657,8 +658,7 @@ - (BOOL)textField:(UITextField *)_textField shouldChangeCharactersInRange:(NSRan
 {
     if (textField.markedTextRange == nil) {
         if (textField.text.length < 16) {
-            textField.text = obligateForBackspace;
-            committedText = textField.text;
+            [self resetTextState];
         }
     }
     return YES;
@@ -675,6 +675,12 @@ - (BOOL)textFieldShouldReturn:(UITextField *)_textField
     return YES;
 }
 
+- (void)resetTextState
+{
+    textField.text = obligateForBackspace;
+    committedText = textField.text;
+}
+
 #endif
 
 @end