diff options
| author | 2011-01-31 18:52:12 -0800 | |
|---|---|---|
| committer | 2011-01-31 18:52:12 -0800 | |
| commit | f28595e47d7a2712df3e2d2e7b6591d1333add3b (patch) | |
| tree | 094afa83e0e406b2ef8749c9bb2dcf7d4acd3fe3 | |
| parent | 22e883dd4a400122003506f47b228378000dd12f (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.java | 3 |
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) |