Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 70e12aa1 authored by Wale Ogunwale's avatar Wale Ogunwale
Browse files

[DO NOT MERGE] Fixed NPE when trying to animate a window without display

In some cases it is possible for the AppToken.allAppWindows list to
get out of sync with the list of windows known to WMS if the client
doesn't call Session.remove(Window). This can lead to an NPE when
the animation threads runs and the display for the window has been
removed.

Bug: 19972099
Change-Id: Ifdf9ff2364b96757bba0539394c4a682f64577c9
parent 37661db7
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -824,12 +824,16 @@ public class WindowAnimator {
        if (displayId < 0) {
            return 0;
        }
        return mService.getDisplayContentLocked(displayId).pendingLayoutChanges;
        DisplayContent displayContent = mService.getDisplayContentLocked(displayId);
        return (displayContent != null) ? displayContent.pendingLayoutChanges : 0;
    }

    void setPendingLayoutChanges(final int displayId, final int changes) {
        if (displayId >= 0) {
            mService.getDisplayContentLocked(displayId).pendingLayoutChanges |= changes;
            DisplayContent displayContent = mService.getDisplayContentLocked(displayId);
            if (displayContent != null) {
                displayContent.pendingLayoutChanges |= changes;
            }
        }
    }