Fix synchronization in updateImeTargetWindow
Use lock before accessing Window map and calling DC.updateImeControlTarget(). Change-Id: I363e3a96fc6041df9b25c649de6bda0a70d40857 Fix: 149491593 Bug: 111084606 Test: atest CtsInputMethodTestCases
This commit is contained in:
@@ -7317,9 +7317,11 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
Slog.w(TAG_WM, "updateInputMethodTargetWindow: imeToken=" + imeToken
|
||||
+ " imeTargetWindowToken=" + imeTargetWindowToken);
|
||||
}
|
||||
final WindowState imeTarget = mWindowMap.get(imeTargetWindowToken);
|
||||
if (imeTarget != null) {
|
||||
imeTarget.getDisplayContent().updateImeControlTarget(imeTarget);
|
||||
synchronized (mGlobalLock) {
|
||||
final WindowState imeTarget = mWindowMap.get(imeTargetWindowToken);
|
||||
if (imeTarget != null) {
|
||||
imeTarget.getDisplayContent().updateImeControlTarget(imeTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user