From ca27f2500cff74ae1e08b3ae06f18e9b3414ffb7 Mon Sep 17 00:00:00 2001 From: chaviw Date: Tue, 6 Feb 2018 16:46:39 -0800 Subject: Allow destroySurface to get called in transaction. Previously, destroy was always initiated immediatley and could not be synchronized with a client transaction. This change allows destroySurface to be called in the same transaction as other client state updates. Test: Unit tests pass Test: Call from Java fixes bugs. Change-Id: I841359530538961a0187216cc455cc388c0ede77 Fixes: 72953020 Fixes: 71499373 --- libs/gui/LayerState.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'libs/gui/LayerState.cpp') diff --git a/libs/gui/LayerState.cpp b/libs/gui/LayerState.cpp index b5295f2801..01acc2de20 100644 --- a/libs/gui/LayerState.cpp +++ b/libs/gui/LayerState.cpp @@ -231,6 +231,9 @@ void layer_state_t::merge(const layer_state_t& other) { what |= eReparent; parentHandleForChild = other.parentHandleForChild; } + if (other.what & eDestroySurface) { + what |= eDestroySurface; + } } }; // namespace android -- cgit v1.2.3-59-g8ed1b