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

Commit 677a3ec5 authored by Vishnu Nair's avatar Vishnu Nair
Browse files

DO NOT MERGE SF: Fix releaseBufferEndpoint merge issue

If a transaction contained a cached buffer, and was
parcelled then merged, the releaseBufferEndpoint would
not be merged correctly. This would result in SF not
releasing a buffer and the app eventually ANRing.

DO NOT MERGE because this issue doesn't exist in master

Bug: b/205791752
Test: manually rotate apps to trigger sync
transactions and check the logs to see
we don't release stale buffers. Real tests to
follow

Change-Id: Ibd295be5e06fea00b331610206f1664f651afed3
parent b6f84790
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -509,6 +509,7 @@ void layer_state_t::merge(const layer_state_t& other) {
    if (other.what & eCachedBufferChanged) {
        what |= eCachedBufferChanged;
        cachedBuffer = other.cachedBuffer;
        releaseBufferEndpoint = other.releaseBufferEndpoint;
    }
    if (other.what & eBackgroundColorChanged) {
        what |= eBackgroundColorChanged;