Upstream changes from Android repository.
Review URL: https://codereview.appspot.com/5752055

git-svn-id: http://skia.googlecode.com/svn/trunk@3449 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/core/SkPath.cpp b/src/core/SkPath.cpp
index 4b3505a..7f58ae3 100644
--- a/src/core/SkPath.cpp
+++ b/src/core/SkPath.cpp
@@ -121,6 +121,7 @@
     fLastMoveToIndex = INITIAL_LASTMOVETOINDEX_VALUE;
 #ifdef SK_BUILD_FOR_ANDROID
     fGenerationID = 0;
+    fSourcePath = NULL;
 #endif
 }
 
@@ -129,7 +130,8 @@
     *this = src;
 #ifdef SK_BUILD_FOR_ANDROID
     // the assignment operator above increments the ID so correct for that here
-    fGenerationID--;
+    fGenerationID = src.fGenerationID;
+    fSourcePath = NULL;
 #endif
 }
 
@@ -188,6 +190,14 @@
 uint32_t SkPath::getGenerationID() const {
     return fGenerationID;
 }
+
+const SkPath* SkPath::getSourcePath() const {
+    return fSourcePath;
+}
+
+void SkPath::setSourcePath(const SkPath* path) {
+    fSourcePath = path;
+}
 #endif
 
 void SkPath::reset() {
@@ -2030,7 +2040,7 @@
         if (n < 3) {
             continue;
         }
-        
+
         const SkPoint* pts = iter.pts();
         SkScalar cross = 0;
         if (kConvex_Convexity == conv) {