diff options
author | Brian Salomon <bsalomon@google.com> | 2017-02-06 15:30:06 -0500 |
---|---|---|
committer | Brian Salomon <bsalomon@google.com> | 2017-02-06 20:34:55 +0000 |
commit | 3a97054456cd89cc885a7ce774523577dbe9164e (patch) | |
tree | 51daf588af748f3a7d5512a6b4ea6ac6c4f48076 /gm/vertices.cpp | |
parent | 604c9890cc55a150591ae52fe0c34e759d6a5ebb (diff) |
Make workaround for std::unique_ptr<const T[]> bug in old libstdc++ work.
BUG=skia:
Change-Id: I58a07d4ce35bdd03e7edcf50e88d9982b3885546
Reviewed-on: https://skia-review.googlesource.com/8101
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'gm/vertices.cpp')
-rw-r--r-- | gm/vertices.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/gm/vertices.cpp b/gm/vertices.cpp index 2ca492684c..b2ab3eb646 100644 --- a/gm/vertices.cpp +++ b/gm/vertices.cpp @@ -104,10 +104,12 @@ protected: // std::unique_ptr<const T[]>. Hence the release() calls below. fVertices = SkVertices::MakeIndexed( SkCanvas::kTriangleFan_VertexMode, - std::unique_ptr<const SkPoint[]>(points.release()), - std::unique_ptr<const SkColor[]>(colors.release()), - std::unique_ptr<const SkPoint[]>(texs.release()), kMeshVertexCnt, - std::unique_ptr<const uint16_t[]>(indices.release()), kMeshIndexCnt); + std::unique_ptr<const SkPoint[]>((const SkPoint*)points.release()), + std::unique_ptr<const SkColor[]>((const SkColor*)colors.release()), + std::unique_ptr<const SkPoint[]>((const SkPoint*)texs.release()), + kMeshVertexCnt, + std::unique_ptr<const uint16_t[]>((const uint16_t*)indices.release()), + kMeshIndexCnt); } } @@ -237,10 +239,12 @@ static void draw_batching(SkCanvas* canvas, bool useObject) { // Older libstdc++ does not allow moving a std::unique_ptr<T[]> into a // std::unique_ptr<const T[]>. Hence the release() calls below. vertices = SkVertices::MakeIndexed( - SkCanvas::kTriangles_VertexMode, std::unique_ptr<const SkPoint[]>(pts.release()), - std::unique_ptr<const SkColor[]>(colors.release()), - std::unique_ptr<const SkPoint[]>(texs.release()), kMeshVertexCnt, - std::unique_ptr<const uint16_t[]>(indices.release()), 3 * kNumTris); + SkCanvas::kTriangles_VertexMode, + std::unique_ptr<const SkPoint[]>((const SkPoint*)pts.release()), + std::unique_ptr<const SkColor[]>((const SkColor*)colors.release()), + std::unique_ptr<const SkPoint[]>((const SkPoint*)texs.release()), kMeshVertexCnt, + std::unique_ptr<const uint16_t[]>((const uint16_t*)indices.release()), + 3 * kNumTris); } canvas->save(); canvas->translate(10, 10); |