diff options
Diffstat (limited to 'Source/WebKit/win/WebKitCOMAPI.cpp')
-rw-r--r-- | Source/WebKit/win/WebKitCOMAPI.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/Source/WebKit/win/WebKitCOMAPI.cpp b/Source/WebKit/win/WebKitCOMAPI.cpp index c4450f749..9c9cc026b 100644 --- a/Source/WebKit/win/WebKitCOMAPI.cpp +++ b/Source/WebKit/win/WebKitCOMAPI.cpp @@ -51,10 +51,9 @@ static COMPtr<IClassFactory> classFactory(const CLSID& clsid) typedef HashMap<CLSID, COMPtr<IClassFactory>, CLSIDHash, CLSIDHashTraits> FactoryMap; static FactoryMap& factories = *new FactoryMap; - pair<FactoryMap::iterator, bool> result = factories.add(clsid, 0); - COMPtr<IClassFactory>& factory = result.first->second; - bool added = result.second; - if (added && FAILED(DllGetClassObject(clsid, __uuidof(factory), reinterpret_cast<void**>(&factory)))) + FactoryMap::AddResult result = factories.add(clsid, 0); + COMPtr<IClassFactory>& factory = result.iterator->second; + if (result.isNewEntry && FAILED(DllGetClassObject(clsid, __uuidof(factory), reinterpret_cast<void**>(&factory)))) factory = 0; return factory; |