Bug 1382857 Part 1: Move FontInfoData constructor out of inline, creating a vtable needed for clang compilation.
MozReview-Commit-ID: 7OsuYxF0rM3
--- a/gfx/thebes/gfxFontInfoLoader.cpp
+++ b/gfx/thebes/gfxFontInfoLoader.cpp
@@ -13,16 +13,27 @@ using namespace mozilla;
using services::GetObserverService;
#define LOG_FONTINIT(args) MOZ_LOG(gfxPlatform::GetLog(eGfxLog_fontinit), \
LogLevel::Debug, args)
#define LOG_FONTINIT_ENABLED() MOZ_LOG_TEST( \
gfxPlatform::GetLog(eGfxLog_fontinit), \
LogLevel::Debug)
+FontInfoData::FontInfoData(bool aLoadOtherNames,
+ bool aLoadFaceNames,
+ bool aLoadCmaps) :
+ mCanceled(false),
+ mLoadOtherNames(aLoadOtherNames),
+ mLoadFaceNames(aLoadFaceNames),
+ mLoadCmaps(aLoadCmaps)
+{
+ MOZ_COUNT_CTOR(FontInfoData);
+}
+
void
FontInfoData::Load()
{
TimeStamp start = TimeStamp::Now();
uint32_t i, n = mFontFamiliesToLoad.Length();
mLoadStats.families = n;
for (i = 0; i < n && !mCanceled; i++) {
--- a/gfx/thebes/gfxFontInfoLoader.h
+++ b/gfx/thebes/gfxFontInfoLoader.h
@@ -46,24 +46,17 @@ struct FontFaceData {
// harfbuzz API methods within FontInfoData subclasses.
class FontInfoData {
public:
NS_INLINE_DECL_THREADSAFE_REFCOUNTING(FontInfoData)
FontInfoData(bool aLoadOtherNames,
bool aLoadFaceNames,
- bool aLoadCmaps) :
- mCanceled(false),
- mLoadOtherNames(aLoadOtherNames),
- mLoadFaceNames(aLoadFaceNames),
- mLoadCmaps(aLoadCmaps)
- {
- MOZ_COUNT_CTOR(FontInfoData);
- }
+ bool aLoadCmaps);
protected:
// Protected destructor, to discourage deletion outside of Release():
virtual ~FontInfoData() {
MOZ_COUNT_DTOR(FontInfoData);
}
public: