summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Romain Guy <romainguy@android.com> 2009-12-04 10:37:59 -0800
committer Android Git Automerger <android-git-automerger@android.com> 2009-12-04 10:37:59 -0800
commitf2feb0faa266e5e0844c20a8adb9cdb5f360322f (patch)
treeeba6a87ec1d0979ddf96e4682b8d45a3d18570ce
parent8280c2b15f6875b2d387c05df23d264864eb9cd5 (diff)
parent48a65d99cba33db3af2e05982a6825b883be2030 (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.java7
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;
}
}