summaryrefslogtreecommitdiffstats
path: root/services/surfaceflinger/LayerBuffer.cpp
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2010-10-25 18:29:35 -0700
committerMathias Agopian <mathias@google.com>2010-10-27 18:04:11 -0700
commite031ba8d20c39910a42ed58db06c3770bdf32eb7 (patch)
tree07ce4cdcf958a7f26c650f58c790f81299fbf9a5 /services/surfaceflinger/LayerBuffer.cpp
parent63e5d07ec9941d64c85210a38d569a719e844940 (diff)
downloadframeworks_base-e031ba8d20c39910a42ed58db06c3770bdf32eb7.zip
frameworks_base-e031ba8d20c39910a42ed58db06c3770bdf32eb7.tar.gz
frameworks_base-e031ba8d20c39910a42ed58db06c3770bdf32eb7.tar.bz2
really fix [3118445] Transform * Transform does not work as expected
Two bugs were counter acting each other. - rotation matrices are on the left-hand side of multiplies - the transform of the overlay is applied before that of the layer Change-Id: Ia79bd368e9b719235c89ecf244ea263f01ce906a
Diffstat (limited to 'services/surfaceflinger/LayerBuffer.cpp')
-rw-r--r--services/surfaceflinger/LayerBuffer.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/services/surfaceflinger/LayerBuffer.cpp b/services/surfaceflinger/LayerBuffer.cpp
index ccaad51..edc00f1 100644
--- a/services/surfaceflinger/LayerBuffer.cpp
+++ b/services/surfaceflinger/LayerBuffer.cpp
@@ -676,8 +676,8 @@ void LayerBuffer::OverlaySource::onVisibilityResolved(
overlay_dev->setPosition(overlay_dev, mOverlay, x,y,w,h);
// we need to combine the layer orientation and the
// user-requested orientation.
- Transform finalTransform = Transform(mOrientation) *
- Transform(mLayer.getOrientation());
+ Transform finalTransform(Transform(mLayer.getOrientation()) *
+ Transform(mOrientation));
overlay_dev->setParameter(overlay_dev, mOverlay,
OVERLAY_TRANSFORM, finalTransform.getOrientation());
overlay_dev->commit(overlay_dev, mOverlay);