aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/com/jogamp/opengl/impl/windows
diff options
context:
space:
mode:
authorSven Gothel <sgothel@jausoft.com>2010-04-16 05:40:09 +0200
committerSven Gothel <sgothel@jausoft.com>2010-04-16 05:40:09 +0200
commit60da84a5ca8fa5e74e995ad0343c8967ba9463a5 (patch)
tree629622e0882c754b9a1d1af4accb4d8206f4c2d6 /src/jogl/classes/com/jogamp/opengl/impl/windows
parent3d8679872f38a56026d87838451eb84da54509f6 (diff)
Fix broken Offscreen/Pbuffer query introduced in bd4904fb04ab2168aeaf76e74385b3991429289a
- Have to set the requested values in GLCapabilities if not relaxed and valid, otherwise the result is always onscreen, since the onscreen/pbuffer bits can be set for the same config. - Let GLContext implementations throw an Exception in case of no surface handle. JUnit Tests: - MiscUtils.setField -> MiscUtils.setFieldIfExists To allow _not_ throwing an exception :)
Diffstat (limited to 'src/jogl/classes/com/jogamp/opengl/impl/windows')
-rw-r--r--src/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLContext.java5
-rw-r--r--src/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLGraphicsConfiguration.java5
2 files changed, 5 insertions, 5 deletions
diff --git a/src/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLContext.java b/src/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLContext.java
index 5b6d65f62..7f9459a48 100644
--- a/src/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLContext.java
+++ b/src/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLContext.java
@@ -282,10 +282,7 @@ public class WindowsWGLContext extends GLContextImpl {
protected int makeCurrentImpl() throws GLException {
if (drawable.getNativeWindow().getSurfaceHandle() == 0) {
- if (DEBUG) {
- System.err.println("drawable not properly initialized");
- }
- return CONTEXT_NOT_CURRENT;
+ throw new GLException("drawable not properly initialized: "+drawable);
}
boolean created = false;
if (hglrc == 0) {
diff --git a/src/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLGraphicsConfiguration.java b/src/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLGraphicsConfiguration.java
index 15823b6dc..aed4012a4 100644
--- a/src/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLGraphicsConfiguration.java
+++ b/src/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLGraphicsConfiguration.java
@@ -428,7 +428,10 @@ public class WindowsWGLGraphicsConfiguration extends DefaultGraphicsConfiguratio
boolean relaxed, boolean onscreen, boolean usePBuffer) {
GLCapabilities res = new GLCapabilities(glp);
int drawableTypeBits = WGLConfig2DrawableTypeBits(iattribs, niattribs, iresults);
- if(WGLConfigDrawableTypeVerify(drawableTypeBits, onscreen, usePBuffer) || relaxed) {
+ if(WGLConfigDrawableTypeVerify(drawableTypeBits, onscreen, usePBuffer)) {
+ res.setOnscreen(onscreen);
+ res.setPBuffer(usePBuffer);
+ } else if(relaxed) {
res.setOnscreen( 0 != (drawableTypeBits & WINDOW_BIT) );
res.setPBuffer ( 0 != (drawableTypeBits & PBUFFER_BIT) );
} else {