diff options
Diffstat (limited to 'libs/surfaceflinger/Layer.cpp')
| -rw-r--r-- | libs/surfaceflinger/Layer.cpp | 5 | 
1 files changed, 5 insertions, 0 deletions
diff --git a/libs/surfaceflinger/Layer.cpp b/libs/surfaceflinger/Layer.cpp index f5a5a0bf2d2e..f11bf1846707 100644 --- a/libs/surfaceflinger/Layer.cpp +++ b/libs/surfaceflinger/Layer.cpp @@ -515,6 +515,11 @@ void Layer::unlockPageFlip(          dirtyRegion.andSelf(visibleRegionScreen);          outDirtyRegion.orSelf(dirtyRegion);      } +    if (visibleRegionScreen.isEmpty()) { +        // an invisible layer should not hold a freeze-lock +        // (because it may never be updated and thereore never release it) +        mFreezeLock.clear(); +    }  }  void Layer::finishPageFlip()  |