diff options
| -rw-r--r-- | core/java/android/view/View.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index c729ccd8b325..b2d8c93acfa6 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -7216,8 +7216,16 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility mPrivateFlags &= ~DRAWN; mPrivateFlags |= INVALIDATED; mPrivateFlags &= ~DRAWING_CACHE_VALID; - if (mParent != null && mAttachInfo != null && mAttachInfo.mHardwareAccelerated) { - mParent.invalidateChild(this, null); + if (mParent != null && mAttachInfo != null) { + if (mAttachInfo.mHardwareAccelerated) { + mParent.invalidateChild(this, null); + } else { + final Rect r = mAttachInfo.mTmpInvalRect; + r.set(0, 0, mRight - mLeft, mBottom - mTop); + // Don't call invalidate -- we don't want to internally scroll + // our own bounds + mParent.invalidateChild(this, r); + } } } } |