commons-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mt...@apache.org
Subject svn commit: r890189 - in /commons/sandbox/runtime/trunk/src/main/native: include/arch/windows/acr_arch.h os/win32/dhtml.c os/win32/main.c
Date Mon, 14 Dec 2009 06:03:50 GMT
Author: mturk
Date: Mon Dec 14 06:03:49 2009
New Revision: 890189

URL: http://svn.apache.org/viewvc?rev=890189&view=rev
Log:
Use private dll loader

Modified:
    commons/sandbox/runtime/trunk/src/main/native/include/arch/windows/acr_arch.h
    commons/sandbox/runtime/trunk/src/main/native/os/win32/dhtml.c
    commons/sandbox/runtime/trunk/src/main/native/os/win32/main.c

Modified: commons/sandbox/runtime/trunk/src/main/native/include/arch/windows/acr_arch.h
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/include/arch/windows/acr_arch.h?rev=890189&r1=890188&r2=890189&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/include/arch/windows/acr_arch.h (original)
+++ commons/sandbox/runtime/trunk/src/main/native/include/arch/windows/acr_arch.h Mon Dec
14 06:03:49 2009
@@ -611,6 +611,7 @@
 /* Define ACR_WANT_LATE_DLL before including this file */
 #if defined(ACR_WANT_LATE_DLL)
 
+HMODULE acr_load_dll(acr_dlltoken_e);
 FARPROC acr_load_dll_func(acr_dlltoken_e, const char *, int);
 
 /* The acr_load_dll_func call WILL return def if the function cannot be loaded */

Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/dhtml.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/dhtml.c?rev=890189&r1=890188&r2=890189&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/dhtml.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/dhtml.c Mon Dec 14 06:03:49 2009
@@ -14,6 +14,7 @@
  * limitations under the License.
  */
 
+#define ACR_WANT_LATE_DLL
 #include "acr.h"
 #include "acr_private.h"
 #include "acr_arch.h"
@@ -64,7 +65,7 @@
     if (!pfnShowHTMLDialog) {
         HMODULE gui_hMSHTML;
 
-        gui_hMSHTML = LoadLibraryA("mshtml.dll");
+        gui_hMSHTML = acr_load_dll(SYSDLL_MSHTML);
         if (IS_INVALID_HANDLE(gui_hMSHTML))
             goto cleanup;
 

Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/main.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/main.c?rev=890189&r1=890188&r2=890189&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/main.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/main.c Mon Dec 14 06:03:49 2009
@@ -194,6 +194,21 @@
     NULL
 };
 
+HMODULE acr_load_dll(acr_dlltoken_e fnLib)
+{
+    if (!late_dll_handles[fnLib]) {
+        /* First see if the .dll is already loaded in the process */
+        late_dll_handles[fnLib] = GetModuleHandleA(late_dll_names[fnLib]);
+        if (!late_dll_handles[fnLib]) {
+            /* Do not display error messages when loading library */
+            UINT em = SetErrorMode(SEM_FAILCRITICALERRORS);
+            late_dll_handles[fnLib] = LoadLibraryA(late_dll_names[fnLib]);
+            SetErrorMode(em);
+        }
+    }    
+    return late_dll_handles[fnLib];
+}
+
 FARPROC acr_load_dll_func(acr_dlltoken_e fnLib, const char* fnName, int undec)
 {
     FARPROC fp = NULL;



Mime
View raw message