Mark SkPictureRecorder::endRecording as SK_WARN_UNUSED_RESULT.
authorjbroman <jbroman@chromium.org>
Thu, 9 Apr 2015 13:12:17 +0000 (06:12 -0700)
committerCommit bot <commit-bot@chromium.org>
Thu, 9 Apr 2015 13:12:17 +0000 (06:12 -0700)
Ignoring the result is a memory leak.
Callers should always at least unref the result.

This bug has occurred in Blink:
  https://codereview.chromium.org/1068413002/

BUG=skia:3680

Review URL: https://codereview.chromium.org/1072633002

include/core/SkPictureRecorder.h

index 0459737..2cf7909 100644 (file)
@@ -67,7 +67,7 @@ public:
      *  reflect their current state, but will not contain a live reference to the drawables
      *  themselves.
      */
-    SkPicture* endRecordingAsPicture();
+    SkPicture* SK_WARN_UNUSED_RESULT endRecordingAsPicture();
 
     /**
      *  Signal that the caller is done recording. This invalidates the canvas returned by
@@ -79,10 +79,10 @@ public:
      *  and therefore this drawable will reflect the current state of those nested drawables anytime
      *  it is drawn or a new picture is snapped from it (by calling drawable->newPictureSnapshot()).
      */
-    SkDrawable* endRecordingAsDrawable();
+    SkDrawable* SK_WARN_UNUSED_RESULT endRecordingAsDrawable();
 
     // Legacy API -- use endRecordingAsPicture instead.
-    SkPicture* endRecording() { return this->endRecordingAsPicture(); }
+    SkPicture* SK_WARN_UNUSED_RESULT endRecording() { return this->endRecordingAsPicture(); }
 
 private:
     void reset();