diff options
Diffstat (limited to 'Source/Core/DolphinWX/GLInterface/WGL.cpp')
| -rw-r--r-- | Source/Core/DolphinWX/GLInterface/WGL.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Source/Core/DolphinWX/GLInterface/WGL.cpp b/Source/Core/DolphinWX/GLInterface/WGL.cpp index 8bc9e7a73a..afc67da431 100644 --- a/Source/Core/DolphinWX/GLInterface/WGL.cpp +++ b/Source/Core/DolphinWX/GLInterface/WGL.cpp @@ -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) { |
