Loading services/surfaceflinger/SurfaceFlinger.cpp +12 −12 Original line number Diff line number Diff line Loading @@ -2447,7 +2447,7 @@ void SurfaceFlinger::handleTransactionLocked(uint32_t transactionFlags) processDisplayHotplugEventsLocked(); } if (transactionFlags & (eTraversalNeeded|eDisplayTransactionNeeded)) { if (transactionFlags & (eDisplayLayerStackChanged|eDisplayTransactionNeeded)) { // The transform hint might have changed for some layers // (either because a display has changed, or because a layer // as changed). Loading Loading @@ -2494,7 +2494,6 @@ void SurfaceFlinger::handleTransactionLocked(uint32_t transactionFlags) } } if (transactionFlags & eDisplayTransactionNeeded) { if (disp == nullptr) { // NOTE: TEMPORARY FIX ONLY. Real fix should cause layers to // redraw after transform hint changes. See bug 8508397. Loading @@ -2504,8 +2503,9 @@ void SurfaceFlinger::handleTransactionLocked(uint32_t transactionFlags) // screen off/on times. disp = getDefaultDisplayDeviceLocked(); } layer->updateTransformHint(disp); } // disp can be null if there is no display available at all to get // the transform hint from. if (disp != nullptr) { layer->updateTransformHint(disp); } Loading Loading @@ -3340,7 +3340,7 @@ uint32_t SurfaceFlinger::setClientStateLocked(const ComposerState& composerState mCurrentState.layersSortedByZ.add(layer); // we need traversal (state changed) // AND transaction (list changed) flags |= eTransactionNeeded|eTraversalNeeded; flags |= eTransactionNeeded|eTraversalNeeded|eDisplayLayerStackChanged; } } if (what & layer_state_t::eDeferTransaction) { Loading services/surfaceflinger/SurfaceFlinger.h +2 −1 Original line number Diff line number Diff line Loading @@ -118,7 +118,8 @@ enum { eTransactionNeeded = 0x01, eTraversalNeeded = 0x02, eDisplayTransactionNeeded = 0x04, eTransactionMask = 0x07 eDisplayLayerStackChanged = 0x08, eTransactionMask = 0x0f, }; // A thin interface to abstract creating instances of Surface (gui/Surface.h) to Loading Loading
services/surfaceflinger/SurfaceFlinger.cpp +12 −12 Original line number Diff line number Diff line Loading @@ -2447,7 +2447,7 @@ void SurfaceFlinger::handleTransactionLocked(uint32_t transactionFlags) processDisplayHotplugEventsLocked(); } if (transactionFlags & (eTraversalNeeded|eDisplayTransactionNeeded)) { if (transactionFlags & (eDisplayLayerStackChanged|eDisplayTransactionNeeded)) { // The transform hint might have changed for some layers // (either because a display has changed, or because a layer // as changed). Loading Loading @@ -2494,7 +2494,6 @@ void SurfaceFlinger::handleTransactionLocked(uint32_t transactionFlags) } } if (transactionFlags & eDisplayTransactionNeeded) { if (disp == nullptr) { // NOTE: TEMPORARY FIX ONLY. Real fix should cause layers to // redraw after transform hint changes. See bug 8508397. Loading @@ -2504,8 +2503,9 @@ void SurfaceFlinger::handleTransactionLocked(uint32_t transactionFlags) // screen off/on times. disp = getDefaultDisplayDeviceLocked(); } layer->updateTransformHint(disp); } // disp can be null if there is no display available at all to get // the transform hint from. if (disp != nullptr) { layer->updateTransformHint(disp); } Loading Loading @@ -3340,7 +3340,7 @@ uint32_t SurfaceFlinger::setClientStateLocked(const ComposerState& composerState mCurrentState.layersSortedByZ.add(layer); // we need traversal (state changed) // AND transaction (list changed) flags |= eTransactionNeeded|eTraversalNeeded; flags |= eTransactionNeeded|eTraversalNeeded|eDisplayLayerStackChanged; } } if (what & layer_state_t::eDeferTransaction) { Loading
services/surfaceflinger/SurfaceFlinger.h +2 −1 Original line number Diff line number Diff line Loading @@ -118,7 +118,8 @@ enum { eTransactionNeeded = 0x01, eTraversalNeeded = 0x02, eDisplayTransactionNeeded = 0x04, eTransactionMask = 0x07 eDisplayLayerStackChanged = 0x08, eTransactionMask = 0x0f, }; // A thin interface to abstract creating instances of Surface (gui/Surface.h) to Loading