diff options
author | reed <reed@google.com> | 2014-10-02 12:58:48 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-10-02 12:58:49 -0700 |
commit | 337c2dd42086c56696c57830bb3953554a973511 (patch) | |
tree | 9ce6103b610e2bfa3e5a4685acf9165c2c354f8c /bench | |
parent | d1f0ebd0e237c74876f780126696daed9d63f80b (diff) |
check for newSurface failure
BUG=skia:
Review URL: https://codereview.chromium.org/622063003
Diffstat (limited to 'bench')
-rw-r--r-- | bench/DeferredSurfaceCopyBench.cpp | 7 |
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++) { |