[SDL] [PATCH] DirectX - Failed loading D3DX9_*.dll

Tobias Leich email at froggs.de
Tue Mar 5 02:18:45 PST 2013


Hi, we have a patch for loading DirectX dlls on Windows.

Cheers, Tobias

-------- Original-Nachricht --------
Betreff: 	DirectX - Failed loading D3DX9_*.dll
Datum: 	Tue, 05 Mar 2013 11:09:05 +0100
Von: 	kmx <kmx at volny.cz>
An: 	sdl-devel at perl.org <sdl-devel at perl.org>



Hi Kartik and Tobias,

ad our last discussion on IRC.

I have investigated the warning "Failed loading D3DX9_*.dll" and come up
with the enclosed patch (please forward it to relevant SDL2 mailing
list/bugtracker).

The warning has gone and DirectX seems to be loaded but I was not able
to test it more.

--
kmx


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.libsdl.org/pipermail/sdl-libsdl.org/attachments/20130305/a9efd9dc/attachment-0008.htm>
-------------- next part --------------
--- /z/strawberry_libs/SDL2-hg20130301/src/render/direct3d/SDL_render_d3d.c	2013-02-28 17:11:04 +0000
+++ /z/strawberry_libs/SDL2-hg20130301_patched/src/render/direct3d/SDL_render_d3d.c	2013-03-05 09:38:04 +0000
@@ -477,7 +477,9 @@
 
         for (d3dxVersion=50;d3dxVersion>0;d3dxVersion--) {
             SDL_snprintf(d3dxDLLFile, 49, "D3DX9_%02d.dll", d3dxVersion);
-            data->d3dxDLL = SDL_LoadObject(d3dxDLLFile);
+            LPTSTR tmpstr = WIN_UTF8ToString(d3dxDLLFile);
+            data->d3dxDLL = (void *)LoadLibrary(tmpstr); /* not using SDL_LoadObject() as we want silently fail - no error message */
+            SDL_free(tmpstr);
             if (data->d3dxDLL) {
                 HRESULT (WINAPI *D3DXCreateMatrixStack) (DWORD Flags, LPD3DXMATRIXSTACK*  ppStack);
                 D3DXCreateMatrixStack = (HRESULT (WINAPI *) (DWORD, LPD3DXMATRIXSTACK*)) SDL_LoadFunction(data->d3dxDLL, "D3DXCreateMatrixStack");



More information about the SDL mailing list