mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1149172 - Send well-formed IME events; r=esawin
This commit is contained in:
parent
09770e51a5
commit
866ff6c9aa
@ -1841,27 +1841,22 @@ nsWindow::OnIMEEvent(AndroidGeckoEvent *ae)
|
||||
InitEvent(event, nullptr);
|
||||
event.mData = ae->Characters();
|
||||
|
||||
if (ae->Action() == AndroidGeckoEvent::IME_COMPOSE_TEXT) {
|
||||
// Because we're leaving the composition open, we need to
|
||||
// include proper text ranges to make the editor happy.
|
||||
TextRange range;
|
||||
range.mStartOffset = 0;
|
||||
range.mEndOffset = event.mData.Length();
|
||||
range.mRangeType = NS_TEXTRANGE_RAWINPUT;
|
||||
event.mRanges = new TextRangeArray();
|
||||
event.mRanges->AppendElement(range);
|
||||
}
|
||||
// Include proper text ranges to make the editor happy.
|
||||
TextRange range;
|
||||
range.mStartOffset = 0;
|
||||
range.mEndOffset = event.mData.Length();
|
||||
range.mRangeType = NS_TEXTRANGE_RAWINPUT;
|
||||
event.mRanges = new TextRangeArray();
|
||||
event.mRanges->AppendElement(range);
|
||||
|
||||
DispatchEvent(&event);
|
||||
}
|
||||
|
||||
// Don't end composition when composing text.
|
||||
if (ae->Action() != AndroidGeckoEvent::IME_COMPOSE_TEXT)
|
||||
{
|
||||
if (ae->Action() != AndroidGeckoEvent::IME_COMPOSE_TEXT) {
|
||||
WidgetCompositionEvent compositionCommitEvent(
|
||||
true, NS_COMPOSITION_COMMIT, this);
|
||||
true, NS_COMPOSITION_COMMIT_AS_IS, this);
|
||||
InitEvent(compositionCommitEvent, nullptr);
|
||||
compositionCommitEvent.mData = ae->Characters();
|
||||
DispatchEvent(&compositionCommitEvent);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user