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

Commit 42b40c8c authored by WangYuanyuan's avatar WangYuanyuan Committed by YuanYuan Wang
Browse files

Fix EmbeddedWindow leaked when client binder death

Bug: 345338615
Test: MTBF
Change-Id: I5538b5108f018dfbddc28bc3b5aea9435f5fdd08
parent dc2cfc8a
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -68,12 +68,14 @@ class EmbeddedWindowController {
            mWindows.put(inputToken, window);
            final IBinder inputTransferToken = window.getInputTransferToken();
            mWindowsByInputTransferToken.put(inputTransferToken, window);
            mWindowsByWindowToken.put(window.getWindowToken(), window);
            final IBinder windowToken = window.getWindowToken();
            mWindowsByWindowToken.put(windowToken, window);
            updateProcessController(window);
            window.mClient.linkToDeath(()-> {
                synchronized (mGlobalLock) {
                    mWindows.remove(inputToken);
                    mWindowsByInputTransferToken.remove(inputTransferToken);
                    mWindowsByWindowToken.remove(windowToken);
                }
            }, 0);
        } catch (RemoteException e) {