remove SkRefCnt safeRef() and safeUnref(), and replace the call-sites with
SkSafeRef() and SkSafeUnref().

This is basically a bug waiting to happen. An optimizing compiler can remove
checks for null on "this" if it chooses. However, SkRefCnt::safeRef() relies on
precisely this check...

void SkRefCnt::safeRef() {
    if (this) {
        this->ref();
    }
}

Since a compiler might skip the if-clause, it breaks the intention of this
method, hence its removal.

static inline void SkSafeRef(SkRefCnt* obj) {
    if (obj) {
        obj->ref();
    }
}

This form is not ignored by an optimizing compile, so we use it instead.




git-svn-id: http://skia.googlecode.com/svn/trunk@762 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/samplecode/SampleDrawLooper.cpp b/samplecode/SampleDrawLooper.cpp
index 7ea7b75..7cf53b2 100644
--- a/samplecode/SampleDrawLooper.cpp
+++ b/samplecode/SampleDrawLooper.cpp
@@ -27,9 +27,9 @@
             { SK_ColorBLUE, SkPaint::kFill_Style, 0, 0, 0 },
             { 0x88000000, SkPaint::kFill_Style, 0, SkIntToScalar(10), 3 }
         };
-        
+
         fLooper = new SkLayerDrawLooper;
-        
+
         for (int i = 0; i < SK_ARRAY_COUNT(gParams); i++) {
             SkPaint* paint = fLooper->addLayer(gParams[i].fOffset,
                                                gParams[i].fOffset);
@@ -45,11 +45,11 @@
             }
         }
     }
-    
+
     virtual ~LooperView() {
-        fLooper->safeUnref();
+        SkSafeUnref(fLooper);
     }
-    
+
 protected:
     // overrides from SkEventSink
     virtual bool onQuery(SkEvent* evt) {
@@ -59,18 +59,18 @@
         }
         return this->INHERITED::onQuery(evt);
     }
-    
+
     void drawBG(SkCanvas* canvas) {
         canvas->drawColor(0xFFDDDDDD);
 //        canvas->drawColor(SK_ColorWHITE);
     }
-    
+
     virtual void onDraw(SkCanvas* canvas) {
         this->drawBG(canvas);
-        
+
         SkPaint  paint;
         paint.setLooper(fLooper);
-        
+
         canvas->drawCircle(SkIntToScalar(50), SkIntToScalar(50),
                            SkIntToScalar(30), paint);
 
@@ -80,16 +80,16 @@
         canvas->drawText("Looper", 6, SkIntToScalar(230), SkIntToScalar(100),
                          paint);
     }
-    
+
     virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y) {
         this->inval(NULL);
         return this->INHERITED::onFindClickHandler(x, y);
     }
-    
+
     virtual bool onClick(Click* click) {
         return this->INHERITED::onClick(click);
     }
-    
+
 private:
     typedef SkView INHERITED;
 };