aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core
diff options
context:
space:
mode:
authorGravatar Yong-Hwan Baek <meisterdevhwan@gmail.com>2018-07-09 14:14:26 +0900
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-07-09 17:20:17 +0000
commit688a8e53314b1b69003590e471052a36108cfa02 (patch)
tree4d62ff123906843ebea0a1b466c5b9d996f14bb8 /include/core
parent7828b6201bd9b480eb090def5d81fb9b98b1926a (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/core')
-rw-r--r--include/core/SkData.h2
-rw-r--r--include/core/SkTextBlob.h9
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);