From b4f4f3e16d8fbb2905dfc168383213161e988f83 Mon Sep 17 00:00:00 2001 From: Chris Craik Date: Mon, 8 Feb 2016 17:27:04 -0800 Subject: Calculate clip bounds correctly when serializing bug:26585671 Change-Id: Ic70769bce6fa2a7b65cb893ba4a45c65fdc0b7e3 --- libs/hwui/ClipArea.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'libs/hwui/ClipArea.cpp') diff --git a/libs/hwui/ClipArea.cpp b/libs/hwui/ClipArea.cpp index 9c08b4dd22ae..0ae3e895a4af 100644 --- a/libs/hwui/ClipArea.cpp +++ b/libs/hwui/ClipArea.cpp @@ -361,17 +361,21 @@ const ClipBase* ClipArea::serializeClip(LinearAllocator& allocator) { "expect RectangleList to be trivially destructible"); if (mLastSerialization == nullptr) { + ClipBase* serialization; switch (mMode) { case ClipMode::Rectangle: - mLastSerialization = allocator.create(mClipRect); + serialization = allocator.create(mClipRect); break; case ClipMode::RectangleList: - mLastSerialization = allocator.create(mRectangleList); + serialization = allocator.create(mRectangleList); + serialization->rect = mRectangleList.calculateBounds(); break; case ClipMode::Region: - mLastSerialization = allocator.create(mClipRegion); + serialization = allocator.create(mClipRegion); + serialization->rect.set(mClipRegion.getBounds()); break; } + mLastSerialization = serialization; } return mLastSerialization; } -- cgit v1.2.3-59-g8ed1b