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

Commit 315f3c74 authored by Robert Carr's avatar Robert Carr Committed by Rob Carr
Browse files

Fix latching of final buffer when moving off-screen and destroying

Previously processing of mLayersPendingRemoval was happening after
doTransaction, but now it is happening before. doTransaction is
still responsible for latching mDrawingStateModified =
mDrawingState.modified. The distinction between the two is now rather
meaningless and should be eliminated in a future CL, for now we
simply unblock the check, by ensuring hasFrameUpdate will return
true even if we haven't called doTransaction().

Test: Existing tests pass. CtsWidgetTestCases.
Bug: 191514384
Change-Id: I6a18452020a3098a6c16b7c0d36a3c0f2b93a8fd
parent a8f9cdbc
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -725,7 +725,7 @@ bool BufferStateLayer::latchSidebandStream(bool& recomputeVisibleRegions) {

bool BufferStateLayer::hasFrameUpdate() const {
    const State& c(getDrawingState());
    return mDrawingStateModified && (c.buffer != nullptr || c.bgColorLayer != nullptr);
    return (mDrawingStateModified || mDrawingState.modified) && (c.buffer != nullptr || c.bgColorLayer != nullptr);
}

status_t BufferStateLayer::updateTexImage(bool& /*recomputeVisibleRegions*/, nsecs_t latchTime,