diff options
author | Yong-Hwan Baek <meisterdevhwan@gmail.com> | 2018-07-09 14:14:26 +0900 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-07-09 17:20:17 +0000 |
commit | 688a8e53314b1b69003590e471052a36108cfa02 (patch) | |
tree | 4d62ff123906843ebea0a1b466c5b9d996f14bb8 /include | |
parent | 7828b6201bd9b480eb090def5d81fb9b98b1926a (diff) |
More workarounds on Windows Debug DLL crash.
SkData and SkTextBlob overwrites delete operator in header file.
Which causes crash on Windows Debug DLL Builds.
Sample Solution can be found in https://github.com/DevHwan/SkiaDLLTest
Bug: skia:
Change-Id: I36bc9445f5cd17afdf852009a0695036ee18ecf0
Reviewed-on: https://skia-review.googlesource.com/139680
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/core/SkData.h | 2 | ||||
-rw-r--r-- | include/core/SkTextBlob.h | 9 |
2 files changed, 4 insertions, 7 deletions
diff --git a/include/core/SkData.h b/include/core/SkData.h index 8eca45095f..931749a9c1 100644 --- a/include/core/SkData.h +++ b/include/core/SkData.h @@ -169,7 +169,7 @@ private: ~SkData(); // Ensure the unsized delete is called. - void operator delete(void* p) { ::operator delete(p); } + void operator delete(void* p); // shared internal factory static sk_sp<SkData> PrivateNewWithCopy(const void* srcOrNull, size_t length); diff --git a/include/core/SkTextBlob.h b/include/core/SkTextBlob.h index 59151d3002..672cc20c5c 100644 --- a/include/core/SkTextBlob.h +++ b/include/core/SkTextBlob.h @@ -95,12 +95,9 @@ private: // Memory for objects of this class is created with sk_malloc rather than operator new and must // be freed with sk_free. - void operator delete(void* p) { sk_free(p); } - void* operator new(size_t) { - SK_ABORT("All blobs are created by placement new."); - return sk_malloc_throw(0); - } - void* operator new(size_t, void* p) { return p; } + void operator delete(void* p); + void* operator new(size_t); + void* operator new(size_t, void* p); static unsigned ScalarsPerGlyph(GlyphPositioning pos); |