Grab-bag of memory fixes.  SkFlatMatrix::Flatten had the same issue as
Sk2DPathEffect:  it was encoding a partially-unintialized matrix type mask. 
The others are simply uninitialized vars in the sample code.

Review URL:  http://codereview.appspot.com/4539072/



git-svn-id: http://skia.googlecode.com/svn/trunk@1414 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/samplecode/SampleHairline.cpp b/samplecode/SampleHairline.cpp
index ab5ac8c..8368f5b 100644
--- a/samplecode/SampleHairline.cpp
+++ b/samplecode/SampleHairline.cpp
@@ -186,6 +186,7 @@
     bool fDoAA;
 public:
 	HairlineView() {
+        fCounter = 0;
         fProcIndex = 0;
         fDoAA = true;
         fNow = 0;
diff --git a/samplecode/SampleLineClipper.cpp b/samplecode/SampleLineClipper.cpp
index d0a8667..ac6b013 100644
--- a/samplecode/SampleLineClipper.cpp
+++ b/samplecode/SampleLineClipper.cpp
@@ -166,6 +166,7 @@
 	LineClipperView() {
         fProcIndex = 0;
         fCounter = 0;
+        fNow = 0;
 
         int x = (640 - W)/2;
         int y = (480 - H)/2;
diff --git a/src/core/SkPictureFlat.cpp b/src/core/SkPictureFlat.cpp
index 5c5ea0b..105df3c 100644
--- a/src/core/SkPictureFlat.cpp
+++ b/src/core/SkPictureFlat.cpp
@@ -28,9 +28,9 @@
 }
 
 SkFlatMatrix* SkFlatMatrix::Flatten(SkChunkAlloc* heap, const SkMatrix& matrix, int index) {
-    int32_t size = sizeof(SkMatrix);
+    size_t size = matrix.flatten(NULL);
     SkFlatMatrix* result = (SkFlatMatrix*) INHERITED::Alloc(heap, size, index);
-    memcpy(&result->fMatrixData, &matrix, sizeof(SkMatrix));
+    matrix.flatten(&result->fMatrixData);
     return result;
 }