diff --git a/samplecode/SampleTiling.cpp b/samplecode/SampleTiling.cpp
index a18a16e..d72544b 100644
--- a/samplecode/SampleTiling.cpp
+++ b/samplecode/SampleTiling.cpp
@@ -63,17 +63,22 @@
 static const int gHeight = 32;
 
 class TilingView : public SampleView {
-    SkPicture           fTextPicture;
+    SkPicture*          fTextPicture;
     SkBlurDrawLooper    fLooper;
 public:
 	TilingView()
             : fLooper(SkIntToScalar(1), SkIntToScalar(2), SkIntToScalar(2),
                       0x88000000) {
+        fTextPicture = new SkPicture();
         for (size_t i = 0; i < SK_ARRAY_COUNT(gConfigs); i++) {
             makebm(&fTexture[i], gConfigs[i], gWidth, gHeight);
         }
     }
 
+    ~TilingView() {
+        fTextPicture->unref();
+    }
+
     SkBitmap    fTexture[SK_ARRAY_COUNT(gConfigs)];
 	
 protected:
@@ -101,8 +106,8 @@
         SkScalar x = SkIntToScalar(10);
 
         SkCanvas* textCanvas = NULL;
-        if (fTextPicture.width() == 0) {
-            textCanvas = fTextPicture.beginRecording(1000, 1000);
+        if (fTextPicture->width() == 0) {
+            textCanvas = fTextPicture->beginRecording(1000, 1000);
         }
 
         if (textCanvas) {
@@ -155,7 +160,7 @@
             }
         }
 
-        canvas->drawPicture(fTextPicture);
+        canvas->drawPicture(*fTextPicture);
     }
     
 private:
