commit f0182f011584c6fbd673f78170d661679f364ba9
parent f3e23b9c45ea0093ed87b0ef40f702cda33bab48
Author: Jonathan Kew <jkew@mozilla.com>
Date: Fri, 31 Oct 2025 09:59:50 +0000
Bug 1985422 - Don't record DWriteFactory as being initialized unless it succeeded. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D270469
Diffstat:
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/gfx/2d/Factory.cpp b/gfx/2d/Factory.cpp
@@ -228,7 +228,6 @@ already_AddRefed<SharedFTFace> FTUserFontData::CloneFace(int aFaceIndex) {
// Note: mDeviceLock must be held when mutating these values.
StaticRefPtr<ID3D11Device> Factory::mD3D11Device;
StaticRefPtr<IDWriteFactory> Factory::mDWriteFactory;
-bool Factory::mDWriteFactoryInitialized = false;
StaticRefPtr<IDWriteFontCollection> Factory::mDWriteSystemFonts;
StaticMutex Factory::mDeviceLock;
#endif
@@ -748,12 +747,10 @@ RefPtr<IDWriteFactory> Factory::GetDWriteFactory() {
RefPtr<IDWriteFactory> Factory::EnsureDWriteFactory() {
StaticMutexAutoLock lock(mDeviceLock);
- if (mDWriteFactoryInitialized) {
+ if (mDWriteFactory) {
return mDWriteFactory;
}
- mDWriteFactoryInitialized = true;
-
HMODULE dwriteModule = LoadLibrarySystem32(L"dwrite.dll");
decltype(DWriteCreateFactory)* createDWriteFactory =
(decltype(DWriteCreateFactory)*)GetProcAddress(dwriteModule,