Update how SkPath handles fGenerationID and fSourcePath, and add tests to cover.
BUG=
R=bungeman@google.com, reed@google.com
Review URL: https://codereview.chromium.org/22911002
git-svn-id: http://skia.googlecode.com/svn/trunk/src@10756 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/core/SkPath.cpp b/core/SkPath.cpp
index ed2f555..47fa552 100644
--- a/core/SkPath.cpp
+++ b/core/SkPath.cpp
@@ -180,7 +180,8 @@
fIsOval = false;
#ifdef SK_BUILD_FOR_ANDROID
GEN_ID_INC;
- fSourcePath = NULL;
+ // We don't touch fSourcePath. It's used to track texture garbage collection, so we don't
+ // want to muck with it if it's been set to something non-NULL.
#endif
}
@@ -189,7 +190,7 @@
this->copyFields(that);
#ifdef SK_BUILD_FOR_ANDROID
fGenerationID = that.fGenerationID;
- fSourcePath = NULL; // TODO(mtklein): follow up with Android: do we want to copy this too?
+ fSourcePath = that.fSourcePath;
#endif
SkDEBUGCODE(that.validate();)
}
@@ -206,7 +207,7 @@
this->copyFields(that);
#ifdef SK_BUILD_FOR_ANDROID
GEN_ID_INC; // Similar to swap, we can't just copy this or it could go back in time.
- fSourcePath = NULL; // TODO(mtklein): follow up with Android: do we want to copy this too?
+ fSourcePath = that.fSourcePath;
#endif
}
SkDEBUGCODE(this->validate();)