| Index: include/core/SkPathEffect.h
|
| diff --git a/include/core/SkPathEffect.h b/include/core/SkPathEffect.h
|
| index bd68c8fa728bac5604e5f140537cef6d4f879fcd..a77b9467e42fda294329976e6fddf6f2ce436fe6 100644
|
| --- a/include/core/SkPathEffect.h
|
| +++ b/include/core/SkPathEffect.h
|
| @@ -183,7 +183,13 @@ public:
|
| The reference counts for outer and inner are both incremented in the constructor,
|
| and decremented in the destructor.
|
| */
|
| - static SkComposePathEffect* Create(SkPathEffect* outer, SkPathEffect* inner) {
|
| + static SkPathEffect* Create(SkPathEffect* outer, SkPathEffect* inner) {
|
| + if (!outer) {
|
| + return SkSafeRef(inner);
|
| + }
|
| + if (!inner) {
|
| + return SkSafeRef(outer);
|
| + }
|
| return new SkComposePathEffect(outer, inner);
|
| }
|
|
|
| @@ -220,7 +226,13 @@ public:
|
| The reference counts for first and second are both incremented in the constructor,
|
| and decremented in the destructor.
|
| */
|
| - static SkSumPathEffect* Create(SkPathEffect* first, SkPathEffect* second) {
|
| + static SkPathEffect* Create(SkPathEffect* first, SkPathEffect* second) {
|
| + if (!first) {
|
| + return SkSafeRef(second);
|
| + }
|
| + if (!second) {
|
| + return SkSafeRef(first);
|
| + }
|
| return new SkSumPathEffect(first, second);
|
| }
|
|
|
|
|