From 70965df387c1d06ff2b8228e5ae80d72f79f8b06 Mon Sep 17 00:00:00 2001 From: "SND\\weimingzhi_cp" Date: Fri, 13 Aug 2010 05:26:12 +0000 Subject: dfxvideo (win32): load ddraw.dll globally git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@56054 e17a0e51-4ae3-4d35-97c3-1a29b211df97 --- win32/plugins/dfxvideo/winsrc/cfg.c | 24 ++---------------------- win32/plugins/dfxvideo/winsrc/draw.c | 10 ---------- win32/plugins/dfxvideo/winsrc/winmain.c | 20 ++++++++++++++++---- 3 files changed, 18 insertions(+), 36 deletions(-) (limited to 'win32/plugins') diff --git a/win32/plugins/dfxvideo/winsrc/cfg.c b/win32/plugins/dfxvideo/winsrc/cfg.c index b9d7b999..e2b14a01 100644 --- a/win32/plugins/dfxvideo/winsrc/cfg.c +++ b/win32/plugins/dfxvideo/winsrc/cfg.c @@ -937,21 +937,14 @@ static BOOL WINAPI DirectDrawEnumCallbackEx( GUID FAR* pGUID, LPSTR strDesc, LPDIRECTDRAW4 g_pDD; LPDIRECT3D3 pD3D; HRESULT (WINAPI *pDDrawCreateFn)(GUID *,LPDIRECTDRAW *,IUnknown *); - HMODULE hDDrawDLL; - - hDDrawDLL = LoadLibrary(TEXT("DDRAW.DLL")); - if(NULL == hDDrawDLL) return FALSE; pDDrawCreateFn = (LPVOID)GetProcAddress( hDDrawDLL, "DirectDrawCreate" ); if( pDDrawCreateFn == NULL || FAILED( pDDrawCreateFn( pGUID, &pDD, 0L ) ) ) { - FreeLibrary(hDDrawDLL); return D3DENUMRET_OK; } - FreeLibrary(hDDrawDLL); - // Query the DirectDraw driver for access to Direct3D. if( FAILED(IDirectDraw_QueryInterface(pDD, &IID_IDirectDraw4, (VOID**)&g_pDD))) { @@ -1002,21 +995,15 @@ void DoDevEnum(HWND hW) { LPDIRECTDRAWENUMERATEEX pDDrawEnumFn; - HMODULE hDDrawDLL = LoadLibrary(TEXT("DDRAW.DLL")); - if(NULL == hDDrawDLL) return; - gHWND=hW; - pDDrawEnumFn = (LPDIRECTDRAWENUMERATEEX) - GetProcAddress( hDDrawDLL, "DirectDrawEnumerateExA" ); + pDDrawEnumFn = (LPVOID)GetProcAddress(hDDrawDLL, "DirectDrawEnumerateExA"); if (pDDrawEnumFn != NULL) pDDrawEnumFn( DirectDrawEnumCallbackEx, NULL, DDENUM_ATTACHEDSECONDARYDEVICES | DDENUM_DETACHEDSECONDARYDEVICES | DDENUM_NONDISPLAYDEVICES ); - - FreeLibrary(hDDrawDLL); } //////////////////////////////////////////////////////////////////////// @@ -1148,7 +1135,6 @@ BOOL bTestModes(void) LPDIRECTDRAW pDD; LPDIRECTDRAW4 g_pDD; HRESULT (WINAPI *pDDrawCreateFn)(GUID *,LPDIRECTDRAW *,IUnknown *); - HMODULE hDDrawDLL; GUID FAR * guid=0; int i;unsigned char * c=(unsigned char *)&guiDev; @@ -1157,19 +1143,13 @@ BOOL bTestModes(void) bDeviceOK=FALSE; - hDDrawDLL = LoadLibrary(TEXT("DDRAW.DLL")); - if(NULL == hDDrawDLL) return FALSE; - - pDDrawCreateFn = (LPVOID)GetProcAddress( hDDrawDLL, "DirectDrawCreate" ); + pDDrawCreateFn = (LPVOID)GetProcAddress(hDDrawDLL, "DirectDrawCreate"); if( pDDrawCreateFn == NULL || FAILED( pDDrawCreateFn(guid, &pDD, 0L ) ) ) { - FreeLibrary(hDDrawDLL); return FALSE; } - FreeLibrary(hDDrawDLL); - if(FAILED(IDirectDraw_QueryInterface(pDD, &IID_IDirectDraw4, (VOID**)&g_pDD))) { IDirectDraw_Release(pDD); diff --git a/win32/plugins/dfxvideo/winsrc/draw.c b/win32/plugins/dfxvideo/winsrc/draw.c index bfd7df7c..ecd0e23c 100644 --- a/win32/plugins/dfxvideo/winsrc/draw.c +++ b/win32/plugins/dfxvideo/winsrc/draw.c @@ -3657,7 +3657,6 @@ int DXinitialize() DDBLTFX ddbltfx; DDPIXELFORMAT dd; HRESULT (WINAPI *pDDrawCreateFn)(GUID *,LPDIRECTDRAW *,IUnknown *); - HMODULE hDDrawDLL; // init some DX vars DX.hWnd = (HWND)hWGPU; @@ -3669,24 +3668,15 @@ int DXinitialize() for(i=0;i