mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 829318 - Don't mess with mIMEState during focus/blur; r=cpeterson
This commit is contained in:
parent
d3b8ad4552
commit
5a96ae892c
@ -40,6 +40,7 @@ class GeckoInputConnection
|
|||||||
|
|
||||||
private static final int INLINE_IME_MIN_DISPLAY_SIZE = 480;
|
private static final int INLINE_IME_MIN_DISPLAY_SIZE = 480;
|
||||||
|
|
||||||
|
// Managed only by notifyIMEEnabled; see comments in notifyIMEEnabled
|
||||||
private int mIMEState;
|
private int mIMEState;
|
||||||
private String mIMETypeHint = "";
|
private String mIMETypeHint = "";
|
||||||
private String mIMEModeHint = "";
|
private String mIMEModeHint = "";
|
||||||
@ -244,9 +245,9 @@ class GeckoInputConnection
|
|||||||
mBatchTextChanged = false;
|
mBatchTextChanged = false;
|
||||||
mUpdateRequest = null;
|
mUpdateRequest = null;
|
||||||
|
|
||||||
mIMEState = IME_STATE_DISABLED;
|
|
||||||
mIMETypeHint = mIMEModeHint = mIMEActionHint = "";
|
|
||||||
mCurrentInputMethod = "";
|
mCurrentInputMethod = "";
|
||||||
|
|
||||||
|
// Do not reset mIMEState here; see comments in notifyIMEEnabled
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onTextChange(String text, int start, int oldEnd, int newEnd) {
|
public void onTextChange(String text, int start, int oldEnd, int newEnd) {
|
||||||
@ -551,6 +552,13 @@ class GeckoInputConnection
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// mIMEState and the mIME*Hint fields should only be changed by notifyIMEEnabled,
|
||||||
|
// and not reset anywhere else. Usually, notifyIMEEnabled is called right after a
|
||||||
|
// focus or blur, so resetting mIMEState during the focus or blur seems harmless.
|
||||||
|
// However, this behavior is not guaranteed. Gecko may call notifyIMEEnabled
|
||||||
|
// independent of focus change; that is, a focus change may not be accompanied by
|
||||||
|
// a notifyIMEEnabled call. So if we reset mIMEState inside focus, there may not
|
||||||
|
// be another notifyIMEEnabled call to set mIMEState to a proper value (bug 829318)
|
||||||
/* When IME is 'disabled', IME processing is disabled.
|
/* When IME is 'disabled', IME processing is disabled.
|
||||||
In addition, the IME UI is hidden */
|
In addition, the IME UI is hidden */
|
||||||
mIMEState = state;
|
mIMEState = state;
|
||||||
|
Loading…
Reference in New Issue
Block a user