OSDN Git Service

Fix lazy measure logic to not use obsolete values
authorChet Haase <chet@google.com>
Thu, 25 Jul 2013 23:06:48 +0000 (16:06 -0700)
committerChet Haase <chet@google.com>
Thu, 25 Jul 2013 23:06:48 +0000 (16:06 -0700)
Issue #10022821 Lazy measure broken

Change-Id: I618ed5e80291304b5430c853d51e70e09f057e4c

core/java/android/view/View.java

index 555e883..299c4a2 100644 (file)
@@ -15995,7 +15995,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
 
             resolveRtlPropertiesIfNeeded();
 
-            int cacheIndex = mMeasureCache.indexOfKey(key);
+            int cacheIndex = (mPrivateFlags & PFLAG_FORCE_LAYOUT) == PFLAG_FORCE_LAYOUT ? -1 :
+                    mMeasureCache.indexOfKey(key);
             if (cacheIndex < 0) {
                 // measure ourselves, this should set the measured dimension flag back
                 onMeasure(widthMeasureSpec, heightMeasureSpec);