Move Win32 specific function grabbing fallback to WGL.cpp. Fixes issue 6964.

This commit is contained in:
Ryan Houdek
2014-01-18 14:10:24 +00:00
parent 839df31347
commit bea484e12f
2 changed files with 10 additions and 14 deletions

View File

@ -13,6 +13,7 @@
#include "EmuWindow.h"
static HDC hDC = NULL; // Private GDI Device Context
static HGLRC hRC = NULL; // Permanent Rendering Context
static HINSTANCE dllHandle = NULL; // Handle to OpenGL32.dll
// typedef from wglext.h
typedef BOOL(WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval);
@ -32,7 +33,10 @@ void cInterfaceWGL::Swap()
void* cInterfaceWGL::GetProcAddress(std::string name)
{
return (void*)wglGetProcAddress((LPCSTR)name.c_str());
void* func = (void*)wglGetProcAddress((LPCSTR)name.c_str());
if (func == NULL)
func = (void*)GetProcAddress(dllHandle, (LPCSTR)name.c_str());
return func;
}
// Draw messages on top of the screen
@ -69,6 +73,10 @@ bool cInterfaceWGL::Create(void *&window_handle)
s_backbuffer_width = _twidth;
s_backbuffer_height = _theight;
#ifdef _WIN32
dllHandle = LoadLibrary(TEXT("OpenGL32.dll"));
#endif
window_handle = (void*)EmuWindow::Create((HWND)window_handle, GetModuleHandle(0), _T("Please wait..."));
if (window_handle == NULL)
{