From a5ff739d3c9e15d07f1d5c644b4f11205cdac0e8 Mon Sep 17 00:00:00 2001 From: Digish Pandya Date: Mon, 4 Nov 2013 06:30:25 +0530 Subject: Update the layer's alpha value upon composition of the layer Fixes: This patch makes sure that the layer's alpha value is up-to-date and does not reflect the previous view's alpha value. it fixes the square block on marquee fading edge when text view is applied transparency. Change-Id: I110649db72a75fecc02ba56c201a05773f80328c --- libs/hwui/OpenGLRenderer.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'libs') diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index 7735819..722cc63 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -1000,7 +1000,13 @@ void OpenGLRenderer::composeLayer(sp current, sp previous) { } } else if (!rect.isEmpty()) { dirtyLayer(rect.left, rect.top, rect.right, rect.bottom); + + save(0); + // the layer contains screen buffer content that shouldn't be alpha modulated + // (and any necessary alpha modulation was handled drawing into the layer) + mSnapshot->alpha = 1.0f; composeLayerRect(layer, rect, true); + restore(); } dirtyClip(); -- cgit v1.1