diff options
author | 2009-12-04 10:37:59 -0800 | |
---|---|---|
committer | 2009-12-04 10:37:59 -0800 | |
commit | f2feb0faa266e5e0844c20a8adb9cdb5f360322f (patch) | |
tree | eba6a87ec1d0979ddf96e4682b8d45a3d18570ce | |
parent | 8280c2b15f6875b2d387c05df23d264864eb9cd5 (diff) | |
parent | 48a65d99cba33db3af2e05982a6825b883be2030 (diff) |
am 48a65d99: Merge change I8c5f2fc3 into eclair
Merge commit '48a65d99cba33db3af2e05982a6825b883be2030' into eclair-mr2
* commit '48a65d99cba33db3af2e05982a6825b883be2030':
Fix invalidate code path (#2273209).
-rw-r--r-- | core/java/android/view/View.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 0b8753659087..1fc367810d22 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -4324,8 +4324,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility requestLayout(); invalidate(); - if (((mViewFlags & VISIBILITY_MASK) == GONE) && hasFocus()) { - clearFocus(); + if (((mViewFlags & VISIBILITY_MASK) == GONE)) { + if (hasFocus()) clearFocus(); + destroyDrawingCache(); } if (mAttachInfo != null) { mAttachInfo.mViewVisibilityChanged = true; @@ -6283,6 +6284,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility canvas.translate(-mScrollX, -mScrollY); mPrivateFlags |= DRAWN; + mPrivateFlags |= DRAWING_CACHE_VALID; // Fast path for layouts with no backgrounds 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 attachInfo.mCanvas = canvas; } - mPrivateFlags |= DRAWING_CACHE_VALID; } } |