mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-04-02 20:42:49 +00:00
Bug 615935: Cancel any complex text composition for a Cocoa NPAPI plugin when it doesn't return kNPEventStartIME for a key down event. r=smichaud a=blocking2.0betaN+
This commit is contained in:
parent
4158076363
commit
a8d97da1e3
@ -38,6 +38,7 @@
|
|||||||
|
|
||||||
- (NSTextInputContext*)inputContext;
|
- (NSTextInputContext*)inputContext;
|
||||||
- (BOOL)interpretKeyEvent:(NSEvent*)event string:(NSString**)string;
|
- (BOOL)interpretKeyEvent:(NSEvent*)event string:(NSString**)string;
|
||||||
|
- (void)cancelComposition;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
@ -83,8 +83,7 @@
|
|||||||
|
|
||||||
- (void)keyboardInputSourceChanged:(NSNotification *)notification
|
- (void)keyboardInputSourceChanged:(NSNotification *)notification
|
||||||
{
|
{
|
||||||
[mInputTextView setString:@""];
|
[self cancelComposition];
|
||||||
[self orderOut:nil];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (BOOL)interpretKeyEvent:(NSEvent*)event string:(NSString**)string
|
- (BOOL)interpretKeyEvent:(NSEvent*)event string:(NSString**)string
|
||||||
@ -119,4 +118,10 @@
|
|||||||
return [mInputTextView inputContext];
|
return [mInputTextView inputContext];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)cancelComposition
|
||||||
|
{
|
||||||
|
[mInputTextView setString:@""];
|
||||||
|
[self orderOut:nil];
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
@ -5365,9 +5365,15 @@ static const char* ToEscapedString(NSString* aString, nsCAutoString& aBuf)
|
|||||||
mGeckoChild->DispatchWindowEvent(pluginEvent);
|
mGeckoChild->DispatchWindowEvent(pluginEvent);
|
||||||
if (!mGeckoChild)
|
if (!mGeckoChild)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!mPluginComplexTextInputRequested) {
|
if (!mPluginComplexTextInputRequested) {
|
||||||
// Ideally we'd cancel any TSM composition here.
|
#ifdef NP_NO_CARBON
|
||||||
|
[[ComplexTextInputPanel sharedComplexTextInputPanel] cancelComposition];
|
||||||
|
#else
|
||||||
|
if (mPluginTSMDoc) {
|
||||||
|
::FixTSMDocument(mPluginTSMDoc);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user