diff options
Diffstat (limited to 'services/surfaceflinger/Layer.cpp')
| -rw-r--r-- | services/surfaceflinger/Layer.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp index 2bf5602595..00defb3dc1 100644 --- a/services/surfaceflinger/Layer.cpp +++ b/services/surfaceflinger/Layer.cpp @@ -847,11 +847,13 @@ void Layer::commitTransaction(State& stateToCommit) { } uint32_t Layer::getTransactionFlags(uint32_t flags) { - return mTransactionFlags.fetch_and(~flags) & flags; + auto ret = mTransactionFlags & flags; + mTransactionFlags &= ~flags; + return ret; } uint32_t Layer::setTransactionFlags(uint32_t flags) { - return mTransactionFlags.fetch_or(flags); + return mTransactionFlags |= flags; } bool Layer::setPosition(float x, float y) { |