OSDN Git Service

Don't quickReject() children if FLAG_CLIP_CHILDREN isn't set
authorRomain Guy <romainguy@google.com>
Thu, 30 Aug 2012 22:19:27 +0000 (15:19 -0700)
committerRomain Guy <romainguy@google.com>
Thu, 30 Aug 2012 22:19:27 +0000 (15:19 -0700)
External report: http://code.google.com/p/android/issues/detail?id=36788

Change-Id: Ibdaecf37ab013e30b16e9dc7a6e50156d72c3e4f

core/java/android/view/View.java

index 745e1b8..b6f07fa 100644 (file)
@@ -13055,7 +13055,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
         // to call invalidate() successfully when doing animations
         mPrivateFlags |= PFLAG_DRAWN;
 
-        if (!concatMatrix && (flags & ViewGroup.FLAG_SUPPORT_STATIC_TRANSFORMATIONS) == 0 &&
+        if (!concatMatrix &&
+                (flags & (ViewGroup.FLAG_SUPPORT_STATIC_TRANSFORMATIONS |
+                        ViewGroup.FLAG_CLIP_CHILDREN)) == ViewGroup.FLAG_CLIP_CHILDREN &&
                 canvas.quickReject(mLeft, mTop, mRight, mBottom, Canvas.EdgeType.BW) &&
                 (mPrivateFlags & PFLAG_DRAW_ANIMATION) == 0) {
             mPrivateFlags2 |= PFLAG2_VIEW_QUICK_REJECTED;