OSDN Git Service

Fix assert when dumping view at 0 alpha
authorChris Craik <ccraik@google.com>
Wed, 27 May 2015 18:28:14 +0000 (11:28 -0700)
committerChris Craik <ccraik@google.com>
Wed, 27 May 2015 18:28:15 +0000 (11:28 -0700)
bug:21461177

Change-Id: Ib4aba7b9641254012471da44aa804813b9679423

libs/hwui/RenderNode.cpp
libs/hwui/RenderProperties.cpp

index 9146b68..9e5ec28 100644 (file)
@@ -83,8 +83,9 @@ void RenderNode::setStagingDisplayList(DisplayListData* data) {
  * display list. This function should remain in sync with the replay() function.
  */
 void RenderNode::output(uint32_t level) {
-    ALOGD("%*sStart display list (%p, %s%s%s%s)", (level - 1) * 2, "", this,
+    ALOGD("%*sStart display list (%p, %s%s%s%s%s)", (level - 1) * 2, "", this,
             getName(),
+            (MathUtils::isZero(properties().getAlpha()) ? ", zero alpha" : ""),
             (properties().hasShadow() ? ", casting shadow" : ""),
             (isRenderable() ? "" : ", empty"),
             (mLayer != nullptr ? ", on HW Layer" : ""));
index 7b75690..07b8ce6 100644 (file)
@@ -146,12 +146,12 @@ void RenderProperties::debugOutputProperties(const int level) const {
 
     const bool isLayer = effectiveLayerType() != LayerType::None;
     int clipFlags = getClippingFlags();
-    if (mPrimitiveFields.mAlpha < 1) {
+    if (mPrimitiveFields.mAlpha < 1
+            && !MathUtils::isZero(mPrimitiveFields.mAlpha)) {
         if (isLayer) {
             clipFlags &= ~CLIP_TO_BOUNDS; // bounds clipping done by layer
         }
 
-        LOG_ALWAYS_FATAL_IF(!isLayer && mPrimitiveFields.mHasOverlappingRendering);
         ALOGD("%*sScaleAlpha %.2f", level * 2, "", mPrimitiveFields.mAlpha);
     }
     if (clipFlags) {