Browse Source

Fixes IME input backspace on macOS

Haoyu Qiu 5 years ago
parent
commit
bda9145aae
1 changed files with 5 additions and 1 deletions
  1. 5 1
      platform/osx/os_osx.mm

+ 5 - 1
platform/osx/os_osx.mm

@@ -479,7 +479,7 @@ static const NSRange kEmptyRange = { NSNotFound, 0 };
 }
 
 - (NSRange)markedRange {
-	return (markedText.length > 0) ? NSMakeRange(0, markedText.length - 1) : kEmptyRange;
+	return NSMakeRange(0, markedText.length);
 }
 
 - (NSRange)selectedRange {
@@ -492,6 +492,10 @@ static const NSRange kEmptyRange = { NSNotFound, 0 };
 	} else {
 		[markedText initWithString:aString];
 	}
+	if (markedText.length == 0) {
+		[self unmarkText];
+		return;
+	}
 	if (OS_OSX::singleton->im_active) {
 		imeInputEventInProgress = true;
 		OS_OSX::singleton->im_text.parse_utf8([[markedText mutableString] UTF8String]);