Replace reference parameter with pointer so that we can pass NULL
in SkDrawPaint::add(); check the pointer when it's used to avoid
dereferencing NULL.

Add title to Animator sample slide.



git-svn-id: http://skia.googlecode.com/svn/trunk@1825 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/samplecode/SampleAnimator.cpp b/samplecode/SampleAnimator.cpp
index 99173fc..b4e487a 100644
--- a/samplecode/SampleAnimator.cpp
+++ b/samplecode/SampleAnimator.cpp
@@ -24,6 +24,7 @@
 protected:
     // overrides
     virtual void onDraw(SkCanvas*);
+    virtual bool onQuery(SkEvent* evt);
     
 private:
     SkString fBaseURI;
@@ -140,6 +141,14 @@
     }
 }
 
+bool SkAnimatorView::onQuery(SkEvent* evt) {
+    if (SampleCode::TitleQ(*evt)) {
+        SampleCode::TitleR(evt, "Animator");
+        return true;
+    }
+    return this->INHERITED::onQuery(evt);
+}
+
 //////////////////////////////////////////////////////////////////////////////
 
 static SkView* MyFactory() {
diff --git a/src/animator/SkDrawPaint.cpp b/src/animator/SkDrawPaint.cpp
index f21a15a..cd2c915 100644
--- a/src/animator/SkDrawPaint.cpp
+++ b/src/animator/SkDrawPaint.cpp
@@ -98,11 +98,11 @@
         delete typeface;
 }
 
-bool SkDrawPaint::add(SkAnimateMaker& maker, SkDisplayable* child) {
+bool SkDrawPaint::add(SkAnimateMaker* maker, SkDisplayable* child) {
     SkASSERT(child && child->isPaintPart());
     SkPaintPart* part = (SkPaintPart*) child;
-    if (part->add())
-        maker.setErrorCode(SkDisplayXMLParserError::kErrorAddingToPaint);
+    if (part->add() && maker)
+        maker->setErrorCode(SkDisplayXMLParserError::kErrorAddingToPaint);
     return true;
 }
 
diff --git a/src/animator/SkDrawPaint.h b/src/animator/SkDrawPaint.h
index ea77acd..b68fb6b 100644
--- a/src/animator/SkDrawPaint.h
+++ b/src/animator/SkDrawPaint.h
@@ -34,7 +34,7 @@
     DECLARE_DRAW_MEMBER_INFO(Paint);
     SkDrawPaint();
     virtual ~SkDrawPaint();
-    virtual bool add(SkAnimateMaker& , SkDisplayable* child);
+    virtual bool add(SkAnimateMaker* , SkDisplayable* child);
     virtual SkDisplayable* deepCopy(SkAnimateMaker* );
     virtual bool draw(SkAnimateMaker& );
 #ifdef SK_DUMP_ENABLED
diff --git a/src/animator/SkPaintParts.cpp b/src/animator/SkPaintParts.cpp
index 48799c6..38d3ae0 100644
--- a/src/animator/SkPaintParts.cpp
+++ b/src/animator/SkPaintParts.cpp
@@ -61,7 +61,7 @@
         fPaint->fOwnsPathEffect = true;
         return false;
     }
-    fPaint->add(*(SkAnimateMaker*) NULL, this);
+    fPaint->add(NULL, this);
     return false;
 }