Explorar el Código

cocoa: Reset IME when sending composed text

This will send an empty `TEXTEDITING` event that is used to signal the 
end of the composition.
Guldoman hace 3 años
padre
commit
084fa4c3fa
Se han modificado 1 ficheros con 6 adiciones y 1 borrados
  1. 6 1
      src/video/cocoa/SDL_cocoakeyboard.m

+ 6 - 1
src/video/cocoa/SDL_cocoakeyboard.m

@@ -66,6 +66,11 @@
         str = [aString UTF8String];
     }
 
+    /* We're likely sending the composed text, so we reset the IME status. */
+    if ([self hasMarkedText]) {
+        [self unmarkText];
+    }
+
     SDL_SendKeyboardText(str);
 }
 
@@ -114,7 +119,7 @@
                         (int) selectedRange.location, (int) selectedRange.length);
 
     DEBUG_IME(@"setMarkedText: %@, (%d, %d)", _markedText,
-          selRange.location, selRange.length);
+          selectedRange.location, selectedRange.length);
 }
 
 - (void)unmarkText