diff options
author | 2016-04-13 15:57:46 -0700 | |
---|---|---|
committer | 2016-04-13 15:59:32 -0700 | |
commit | bf27b995ae1bc36ee0b24effcaf41ec477e7fae3 (patch) | |
tree | 122aaa198253c48697f21c303e761381650d1cf0 /libs/hwui/ClipArea.cpp | |
parent | e1b1ce77da273da6fc89d04a9c8ec09d0d8adca1 (diff) |
Avoid reentrance on ClipArea APIs
bug:28144676
Calling ClipArea::clipRegion from within ClipArea::clipPathWithTransform
has us handling op-based special casing twice, which caused all clip
paths to appear to be replace ops.
Change-Id: Ib842db53ffed4eee29470f773d59a3a1d07a1a0e
Diffstat (limited to 'libs/hwui/ClipArea.cpp')
-rw-r--r-- | libs/hwui/ClipArea.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/hwui/ClipArea.cpp b/libs/hwui/ClipArea.cpp index 35fe06dc5e21..fe6823925083 100644 --- a/libs/hwui/ClipArea.cpp +++ b/libs/hwui/ClipArea.cpp @@ -253,7 +253,9 @@ void ClipArea::clipPathWithTransform(const SkPath& path, const mat4* transform, path.transform(skTransform, &transformed); SkRegion region; regionFromPath(transformed, region); - clipRegion(region, op); + enterRegionMode(); + mClipRegion.op(region, op); + onClipRegionUpdated(); } /* |