summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chet Haase <chet@google.com> 2011-01-31 18:52:12 -0800
committer Chet Haase <chet@google.com> 2011-01-31 18:52:12 -0800
commitf28595e47d7a2712df3e2d2e7b6591d1333add3b (patch)
tree094afa83e0e406b2ef8749c9bb2dcf7d4acd3fe3
parent22e883dd4a400122003506f47b228378000dd12f (diff)
Fix invalidation issue with actionbar items
When a view hierarchy becomes VISIBLE, it is possible that the display list of some of the subtrees needs to be recreated. In particular, if the subtree was measured while it was GONE, then the children probably didn't have a valid size. If a display list is created for any of the subnodes in the tree during this time, then they may have clipped the children out. The fix is to force the parent to become INVALIDATED whenever a child view's bounds change (and it is VISIBLE). Change-Id: I3624253e65354289f4fb94c9ba76a7e6fb82af9a
-rw-r--r--core/java/android/view/View.java3
1 files changed, 3 insertions, 0 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index f111f98209fc..6ba413e13391 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -9332,6 +9332,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
// the DRAWN bit.
mPrivateFlags |= DRAWN;
invalidate(true);
+ // parent display list may need to be recreated based on a change in the bounds
+ // of any child
+ invalidateParentCaches();
}
// Reset drawn bit to original value (invalidate turns it off)