getFactory() must return a factory.
authorcommit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Fri, 7 Mar 2014 14:52:09 +0000 (14:52 +0000)
committercommit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Fri, 7 Mar 2014 14:52:09 +0000 (14:52 +0000)
BUG=348821
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/190843002

git-svn-id: http://skia.googlecode.com/svn/trunk@13702 2bbb7eff-a529-9590-31e7-b0007b416f81

src/core/SkWriteBuffer.cpp

index 450c30e..cca7d81 100644 (file)
@@ -270,15 +270,9 @@ void SkWriteBuffer::writeFlattenable(const SkFlattenable* flattenable) {
      *  The distinction is important, since 0-index is 32bits (always), but a
      *  0-functionptr might be 32 or 64 bits.
      */
-
-    SkFlattenable::Factory factory = NULL;
-    if (flattenable) {
-        factory = flattenable->getFactory();
-    }
-    if (NULL == factory) {
+    if (NULL == flattenable) {
         if (this->isValidating()) {
             this->writeString("");
-            SkASSERT(NULL == flattenable); // We shouldn't get in here in this scenario
         } else if (fFactorySet != NULL || fNamedFactorySet != NULL) {
             this->write32(0);
         } else {
@@ -287,6 +281,9 @@ void SkWriteBuffer::writeFlattenable(const SkFlattenable* flattenable) {
         return;
     }
 
+    SkFlattenable::Factory factory = flattenable->getFactory();
+    SkASSERT(factory != NULL);
+
     /*
      *  We can write 1 of 3 versions of the flattenable:
      *  1.  function-ptr : this is the fastest for the reader, but assumes that