diff options
author | 2018-04-13 12:36:43 -0400 | |
---|---|---|
committer | 2018-04-13 20:21:12 +0000 | |
commit | 460b1cd45a499378539cdce564d298c93314d66d (patch) | |
tree | 87d87cca456e718fe8af836fe57d914063831dbc /src | |
parent | eab2baa8a4417ef21979f511d5cad2334cd08d25 (diff) |
Clone the xpos array in drawPosText
It was a mistake to miss it...
This fixes GM bigtext and almost every GM that uses drawPosText
in the t8888 mode.
Bug: skia:
Change-Id: I32d6cc1fd1cde5c8b7caaad9eb3ba6a1706c22a6
Reviewed-on: https://skia-review.googlesource.com/121328
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/core/SkThreadedBMPDevice.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/SkThreadedBMPDevice.cpp b/src/core/SkThreadedBMPDevice.cpp index 99aa608865..0cff9681c3 100644 --- a/src/core/SkThreadedBMPDevice.cpp +++ b/src/core/SkThreadedBMPDevice.cpp @@ -199,9 +199,10 @@ void SkThreadedBMPDevice::drawText(const void* text, size_t len, SkScalar x, SkS void SkThreadedBMPDevice::drawPosText(const void* text, size_t len, const SkScalar xpos[], int scalarsPerPos, const SkPoint& offset, const SkPaint& paint) { char* clonedText = this->cloneArray((const char*)text, len); + SkScalar* clonedXpos = this->cloneArray(xpos, len * scalarsPerPos); SkRect drawBounds = SkRectPriv::MakeLargest(); // TODO tighter drawBounds fQueue.push(drawBounds, [=](SkArenaAlloc*, const DrawState& ds, const SkIRect& tileBounds){ - TileDraw(ds, tileBounds).drawPosText(clonedText, len, xpos, scalarsPerPos, offset, + TileDraw(ds, tileBounds).drawPosText(clonedText, len, clonedXpos, scalarsPerPos, offset, paint, &surfaceProps()); }); } |