From 1e09597512fd7e6c62ea00e4f0a93d305717ca79 Mon Sep 17 00:00:00 2001 From: Romain Guy Date: Tue, 7 Jul 2009 11:22:45 -0700 Subject: Fixes #1963217. Increases the invalidate region in compatibility mode. To account for rounding errors when scaling the invalidate regions, increase the dirty rectangle by 1 pixel in each direction --- core/java/android/view/ViewRoot.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'core/java') diff --git a/core/java/android/view/ViewRoot.java b/core/java/android/view/ViewRoot.java index 65457c5..6f6e224 100644 --- a/core/java/android/view/ViewRoot.java +++ b/core/java/android/view/ViewRoot.java @@ -546,13 +546,16 @@ public final class ViewRoot extends Handler implements ViewParent, if (DEBUG_DRAW) Log.v(TAG, "Invalidate child: " + dirty); if (mCurScrollY != 0 || mTranslator != null) { mTempRect.set(dirty); + dirty = mTempRect; if (mCurScrollY != 0) { - mTempRect.offset(0, -mCurScrollY); + dirty.offset(0, -mCurScrollY); } if (mTranslator != null) { - mTranslator.translateRectInAppWindowToScreen(mTempRect); + mTranslator.translateRectInAppWindowToScreen(dirty); + } + if (mAttachInfo.mScalingRequired) { + dirty.inset(-1, -1); } - dirty = mTempRect; } mDirty.union(dirty); if (!mWillDrawSoon) { -- cgit v1.1