[PATCH] shdocvw: There's no need to load ieframe.dll again, it's delayimported
Michael Stefaniuc
mstefani at winehq.org
Tue Oct 27 14:21:22 CDT 2020
Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>
---
dlls/shdocvw/shdocvw_main.c | 22 ++--------------------
1 file changed, 2 insertions(+), 20 deletions(-)
diff --git a/dlls/shdocvw/shdocvw_main.c b/dlls/shdocvw/shdocvw_main.c
index ac3913dd239..e8487f8b747 100644
--- a/dlls/shdocvw/shdocvw_main.c
+++ b/dlls/shdocvw/shdocvw_main.c
@@ -39,30 +39,13 @@ WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
LONG SHDOCVW_refCount = 0;
static HMODULE SHDOCVW_hshell32 = 0;
-static HINSTANCE ieframe_instance;
-
-static HINSTANCE get_ieframe_instance(void)
-{
- static const WCHAR ieframe_dllW[] = {'i','e','f','r','a','m','e','.','d','l','l',0};
-
- if(!ieframe_instance)
- ieframe_instance = LoadLibraryW(ieframe_dllW);
-
- return ieframe_instance;
-}
static HRESULT get_ieframe_object(REFCLSID rclsid, REFIID riid, void **ppv)
{
- HINSTANCE ieframe_instance;
-
static HRESULT (WINAPI *ieframe_DllGetClassObject)(REFCLSID,REFIID,void**);
if(!ieframe_DllGetClassObject) {
- ieframe_instance = get_ieframe_instance();
- if(!ieframe_instance)
- return CLASS_E_CLASSNOTAVAILABLE;
-
- ieframe_DllGetClassObject = (void*)GetProcAddress(ieframe_instance, "DllGetClassObject");
+ ieframe_DllGetClassObject = (void*)GetProcAddress(GetModuleHandleW(L"ieframe.dll"), "DllGetClassObject");
if(!ieframe_DllGetClassObject)
return CLASS_E_CLASSNOTAVAILABLE;
}
@@ -119,7 +102,7 @@ DWORD WINAPI IEWinMain(LPSTR szCommandLine, int nShowWindow)
TRACE("%s %d\n", debugstr_a(szCommandLine), nShowWindow);
- pIEWinMain = (void*)GetProcAddress(get_ieframe_instance(), MAKEINTRESOURCEA(101));
+ pIEWinMain = (void*)GetProcAddress(GetModuleHandleW(L"ieframe.dll"), MAKEINTRESOURCEA(101));
if(!pIEWinMain)
ExitProcess(1);
@@ -149,7 +132,6 @@ BOOL WINAPI DllMain(HINSTANCE hinst, DWORD fdwReason, LPVOID fImpLoad)
case DLL_PROCESS_DETACH:
if (fImpLoad) break;
if (SHDOCVW_hshell32) FreeLibrary(SHDOCVW_hshell32);
- if (ieframe_instance) FreeLibrary(ieframe_instance);
break;
}
return TRUE;
--
2.26.2
More information about the wine-devel
mailing list