]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/dynlib.cpp
removing path corrections for wxMac, we now want a correct platform string for unzOpen
[wxWidgets.git] / src / common / dynlib.cpp
index 716ba55d7f6192a4cd9a0e93637a399d0fbbe37c..558b579e0c53694b17f31fb36fed426d339c9b18 100644 (file)
@@ -146,7 +146,7 @@ wxLibrary::wxLibrary(wxDllType handle)
     m_handle = handle;
 
     // Some system may use a local heap for library.
-    get_first = (t_get_first)GetSymbol("wxGetClassFirst");
+    get_first = (t_get_first)GetSymbol(_T("wxGetClassFirst"));
     // It is a wxWindows DLL.
     if (get_first)
         PrepareClasses(get_first());
@@ -322,22 +322,22 @@ void *wxDllLoader::GetSymbol(wxDllType dllHandle, const wxString &name, bool *su
 #elif defined(__WXPM__) || defined(__EMX__)
     wxDllGetSymbol(dllHandle, symbol);
 
-#else
+#else // Windows or Unix
+
     // mb_str() is necessary in Unicode build
-    symbol = wxDllGetSymbol(dllHandle, name.mb_str());
+    //
+    // "void *" cast is needed by gcc 3.1 + w32api 1.4, don't ask me why
+    symbol = (void *)wxDllGetSymbol(dllHandle, name.mb_str());
 
-#endif
+#endif // OS
 
     if ( !symbol )
     {
-        wxString msg(_("wxDllLoader failed to GetSymbol '%s'"));
-
 #ifdef HAVE_DLERROR
         const wxChar *err = dlerror();
         if( err )
         {
-            failed = TRUE;
-            wxLogError( msg, err );
+            wxLogError(wxT("%s"), err);
         }
 #else
         failed = TRUE;
@@ -416,13 +416,16 @@ wxObject *wxLibraries::CreateObject(const wxString& path)
     return NULL;
 }
 
-#ifdef __DARWIN__
+#endif // wxUSE_DYNLIB_CLASS && !wxUSE_DYNAMIC_LOADER
+
+#if defined(__DARWIN__) && (wxUSE_DYNLIB_CLASS || wxUSE_DYNAMIC_LOADER)
 // ---------------------------------------------------------------------------
 // For Darwin/Mac OS X
 //   supply the sun style dlopen functions in terms of Darwin NS*
 // ---------------------------------------------------------------------------
 
-#import <mach-o/dyld.h>
+#include <stdio.h>
+#include <mach-o/dyld.h>
 
 static char dl_last_error[1024];
 
@@ -454,7 +457,7 @@ const char *dlerror()
     return dl_last_error;
 }
 
-void *dlopen(const char *path, int mode /* mode is ignored */)
+void *dlopen(const char *path, int WXUNUSED(mode) /* mode is ignored */)
 {
     int dyld_result;
     NSObjectFileImage ofile;
@@ -477,11 +480,11 @@ void *dlopen(const char *path, int mode /* mode is ignored */)
 
 int dlclose(void *handle)
 {
-    NSUnLinkModule( m_handle, NSUNLINKMODULE_OPTION_NONE);
+    NSUnLinkModule( handle, NSUNLINKMODULE_OPTION_NONE);
     return 0;
 }
 
-void *dlsym(void *handle, const char *symbol)
+void *dlsym(void *WXUNUSED(handle), const char *symbol)
 {
     void *addr;
 
@@ -494,6 +497,4 @@ void *dlsym(void *handle, const char *symbol)
     return addr;
 }
 
-#endif // __DARWIN__
-
-#endif // wxUSE_DYNLIB_CLASS
+#endif // defined(__DARWIN__) && (wxUSE_DYNLIB_CLASS || wxUSE_DYNAMIC_LOADER)