]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/dynlib.cpp
Added call to top-level window OnInternalIdle
[wxWidgets.git] / src / common / dynlib.cpp
index f55c803348a2592ce75ea01c80ca809aa686ebd9..a452cb2c82cb38fd01ce0de48e6ea16207595cfb 100644 (file)
@@ -99,7 +99,11 @@ const char *dlerror(void);
     // using LoadLibraryEx under Win32 to avoid name clash with LoadLibrary
 #   ifdef __WIN32__
 #ifdef _UNICODE
+#ifdef __WXWINCE__
+#      define wxDllOpen(lib)                  ::LoadLibrary(lib)
+#else
 #      define wxDllOpen(lib)                  ::LoadLibraryExW(lib, 0, 0)
+#endif
 #else
 #      define wxDllOpen(lib)                  ::LoadLibraryExA(lib, 0, 0)
 #endif
@@ -323,7 +327,11 @@ void *wxDllLoader::GetSymbol(wxDllType dllHandle, const wxString &name, bool *su
     // mb_str() is necessary in Unicode build
     //
     // "void *" cast is needed by gcc 3.1 + w32api 1.4, don't ask me why
-    symbol = (void *)wxDllGetSymbol(dllHandle, name.mb_str());
+#ifdef __WXWINCE__
+    symbol = (void *) wxDllGetSymbol(dllHandle, name.c_str());
+#else
+    symbol = (void *) wxDllGetSymbol(dllHandle, name.mb_str());
+#endif
 
 #endif // OS
 
@@ -480,15 +488,19 @@ int dlclose(void *handle)
     return 0;
 }
 
-void *dlsym(void *WXUNUSED(handle), const char *symbol)
+void *dlsym(void *handle, const char *symbol)
 {
     void *addr;
+    
+    NSSymbol nsSymbol = NSLookupSymbolInModule( handle , symbol ) ;
 
-    if (NSIsSymbolNameDefined(symbol)) {
-       addr = NSAddressOfSymbol(NSLookupAndBindSymbol(symbol));
+    if ( nsSymbol) 
+    {
+           addr = NSAddressOfSymbol(nsSymbol);
     }
-    else {
-       addr = NULL;
+    else 
+    {
+           addr = NULL;
     }
     return addr;
 }