diff options
Diffstat (limited to 'include/private/SkTDArray.h')
-rw-r--r-- | include/private/SkTDArray.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/include/private/SkTDArray.h b/include/private/SkTDArray.h index e9660d88b7..b841eaf6d3 100644 --- a/include/private/SkTDArray.h +++ b/include/private/SkTDArray.h @@ -72,10 +72,12 @@ public: } T* insert(int ix, int n = 1, const T* src = nullptr) { if (src) { - return &*fVec.insert(fVec.begin() + SkToSizeT(ix), src, src+SkToSizeT(n)); + fVec.insert(fVec.begin() + SkToSizeT(ix), src, src+SkToSizeT(n)); + } else { + T v; + fVec.insert(fVec.begin() + SkToSizeT(ix), SkToSizeT(n), v); } - T v; - return &*fVec.insert(fVec.begin() + SkToSizeT(ix), SkToSizeT(n), v); + return &this->getAt(ix); } void remove(int ix, int n = 1) { |