aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2014-10-02 12:58:48 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2014-10-02 12:58:49 -0700
commit337c2dd42086c56696c57830bb3953554a973511 (patch)
tree9ce6103b610e2bfa3e5a4685acf9165c2c354f8c /bench
parentd1f0ebd0e237c74876f780126696daed9d63f80b (diff)
check for newSurface failure
Diffstat (limited to 'bench')
-rw-r--r--bench/DeferredSurfaceCopyBench.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/bench/DeferredSurfaceCopyBench.cpp b/bench/DeferredSurfaceCopyBench.cpp
index cbf98ec8a1..e1c3e3b506 100644
--- a/bench/DeferredSurfaceCopyBench.cpp
+++ b/bench/DeferredSurfaceCopyBench.cpp
@@ -38,6 +38,13 @@ protected:
const SkRect fullCanvasRect = SkRect::MakeWH(
SkIntToScalar(kSurfaceWidth), SkIntToScalar(kSurfaceHeight));
SkAutoTUnref<SkSurface> surface(canvas->newSurface(info));
+
+ // newSurface() can return NULL for several reasons, so we need to check
+ if (NULL == surface.get()) {
+ SkDebugf("DeferredSurfaceCopyBench newSurface failed, bench results are meaningless\n");
+ return; // should we signal the caller that we hit an error?
+ }
+
SkAutoTUnref<SkDeferredCanvas> drawingCanvas(SkDeferredCanvas::Create(surface));
for (int iteration = 0; iteration < loops; iteration++) {