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); |
} |