+
+ typedef BOOL (WINAPI *SetDllDirectory_t)(LPCTSTR lpPathName);
+
+ static SetDllDirectory_t s_pfnSetDllDirectory = (SetDllDirectory_t) -1;
+
+ if ( s_pfnSetDllDirectory == (SetDllDirectory_t) -1 )
+ {
+ /*
+ Should wxLoadedDLL ever not be used here (or rather, the
+ wxDL_GET_LOADED flag isn't used), infinite recursion will take
+ place (unless s_pfnSetDllDirectory is set to NULL here right
+ before loading the DLL).
+ */
+ wxLoadedDLL dllKernel("kernel32.dll");
+
+ wxDL_INIT_FUNC_AW(s_pfn, SetDllDirectory, dllKernel);
+ }
+
+ if (s_pfnSetDllDirectory)
+ {
+ s_pfnSetDllDirectory(path.t_str());
+ }
+