From e9a4dee1eb610e567ac4df00368b41282326f03f Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst Date: Wed, 23 Feb 2011 00:20:33 +0100 Subject: [PATCH] mshtml: Make sure system xpcom dll gets loaded. --- dlls/mshtml/nsembed.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/dlls/mshtml/nsembed.c b/dlls/mshtml/nsembed.c index 9e17bbff1ef..7592b621a62 100644 --- a/dlls/mshtml/nsembed.c +++ b/dlls/mshtml/nsembed.c @@ -311,13 +311,17 @@ static void set_environment(LPCWSTR gre_path) static BOOL load_xpcom(const PRUnichar *gre_path) { - static const WCHAR strXPCOM[] = {'x','p','c','o','m','.','d','l','l',0}; + static const WCHAR strXPCOM[] = {'\\','x','p','c','o','m','.','d','l','l',0}; + WCHAR file_name[MAX_PATH]; - TRACE("(%s)\n", debugstr_w(gre_path)); + strcpyW(file_name, gre_path); + strcatW(file_name, strXPCOM); + + TRACE("(%s)\n", debugstr_w(file_name)); set_environment(gre_path); - hXPCOM = LoadLibraryW(strXPCOM); + hXPCOM = LoadLibraryExW(file_name, 0, LOAD_WITH_ALTERED_SEARCH_PATH); if(!hXPCOM) { WARN("Could not load XPCOM: %d\n", GetLastError()); return FALSE;