diff options
-rw-r--r-- | src/core/SkCanvas.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp index 7fbb952d22..49da8eb3a7 100644 --- a/src/core/SkCanvas.cpp +++ b/src/core/SkCanvas.cpp @@ -50,6 +50,7 @@ #include "SkVertices.h" #define RETURN_ON_NULL(ptr) do { if (nullptr == (ptr)) return; } while (0) +#define RETURN_ON_FALSE(pred) do { if (!(pred)) return; } while (0) class SkNoPixelsDevice : public SkBaseDevice { public: @@ -2610,6 +2611,7 @@ void SkCanvas::drawTextBlob(const SkTextBlob* blob, SkScalar x, SkScalar y, const SkPaint& paint) { TRACE_EVENT0("skia", TRACE_FUNC); RETURN_ON_NULL(blob); + RETURN_ON_FALSE(blob->bounds().makeOffset(x, y).isFinite()); this->onDrawTextBlob(blob, x, y, paint); } |