diff options
| author | 2018-08-20 13:50:12 +0800 | |
|---|---|---|
| committer | 2018-08-20 07:58:48 +0000 | |
| commit | f8deb81e1a94f4393610c2436bf5489610b3e903 (patch) | |
| tree | 80b4c7866c416dd5254cd7b92e0c33126e5c4654 | |
| parent | 94763e192fe35f84db6e3ecefb31cae0b5f13f4f (diff) | |
Client may use the out of date display ID when add the window token.
Add the null pointer checking when getDisplayContent.
Bug: 80001975
Test: atest WindowManagerSmokeTest ActivityManagerMultiDisplayTests
Change-Id: I1f5e4b11762a43b1a363c4c8974e08068d938023
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowManagerService.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index e18d56485d47..6870a5d704b3 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -2341,6 +2341,12 @@ public class WindowManagerService extends IWindowManager.Stub synchronized(mWindowMap) { final DisplayContent dc = mRoot.getDisplayContent(displayId); + if (dc == null) { + Slog.w(TAG_WM, "addWindowToken: Attempted to add token: " + binder + + " for non-exiting displayId=" + displayId); + return; + } + WindowToken token = dc.getWindowToken(binder); if (token != null) { Slog.w(TAG_WM, "addWindowToken: Attempted to add binder token: " + binder |