Merge change I8c5f2fc3 into eclair

* changes:
  Fix invalidate code path (#2273209).
This commit is contained in:
Android (Google) Code Review
2009-12-04 10:22:47 -08:00

View File

@ -4324,8 +4324,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
requestLayout(); requestLayout();
invalidate(); invalidate();
if (((mViewFlags & VISIBILITY_MASK) == GONE) && hasFocus()) { if (((mViewFlags & VISIBILITY_MASK) == GONE)) {
clearFocus(); if (hasFocus()) clearFocus();
destroyDrawingCache();
} }
if (mAttachInfo != null) { if (mAttachInfo != null) {
mAttachInfo.mViewVisibilityChanged = true; mAttachInfo.mViewVisibilityChanged = true;
@ -6283,6 +6284,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
canvas.translate(-mScrollX, -mScrollY); canvas.translate(-mScrollX, -mScrollY);
mPrivateFlags |= DRAWN; mPrivateFlags |= DRAWN;
mPrivateFlags |= DRAWING_CACHE_VALID;
// Fast path for layouts with no backgrounds // Fast path for layouts with no backgrounds
if ((mPrivateFlags & SKIP_DRAW) == SKIP_DRAW) { if ((mPrivateFlags & SKIP_DRAW) == SKIP_DRAW) {
@ -6301,7 +6303,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
// Restore the cached Canvas for our siblings // Restore the cached Canvas for our siblings
attachInfo.mCanvas = canvas; attachInfo.mCanvas = canvas;
} }
mPrivateFlags |= DRAWING_CACHE_VALID;
} }
} }