diff --git a/src/java/org/lwjgl/opengl/WindowsDisplay.java b/src/java/org/lwjgl/opengl/WindowsDisplay.java index 79a078fd..9d2aa427 100644 --- a/src/java/org/lwjgl/opengl/WindowsDisplay.java +++ b/src/java/org/lwjgl/opengl/WindowsDisplay.java @@ -174,6 +174,8 @@ final class WindowsDisplay implements DisplayImplementation { throw new LWJGLException("Failed to get dc"); } peer_info.initDC(getHwnd(), getHdc()); + int format = WindowsPeerInfo.choosePixelFormat(getHdc(), 0, 0, peer_info.getPixelFormat(), null, true, true, false, true); + WindowsPeerInfo.setPixelFormat(getHdc(), format); showWindow(getHwnd(), SW_SHOWDEFAULT); if (parent == null) { setForegroundWindow(getHwnd()); diff --git a/src/java/org/lwjgl/opengl/WindowsDisplayPeerInfo.java b/src/java/org/lwjgl/opengl/WindowsDisplayPeerInfo.java index debecf12..13660b04 100644 --- a/src/java/org/lwjgl/opengl/WindowsDisplayPeerInfo.java +++ b/src/java/org/lwjgl/opengl/WindowsDisplayPeerInfo.java @@ -49,10 +49,12 @@ final class WindowsDisplayPeerInfo extends WindowsPeerInfo { GLContext.loadOpenGLLibrary(); } + final PixelFormat getPixelFormat() { + return pixel_format; + } + void initDC(long hwnd, long hdc) throws LWJGLException { nInitDC(getHandle(), hwnd, hdc); - int format = choosePixelFormat(hdc, 0, 0, pixel_format, null, true, true, false, true); - setPixelFormat(hdc, format); } private static native void nInitDC(ByteBuffer peer_info_handle, long hwnd, long hdc);