Bug 94 - isFunctionAvailable throws exception on valid version strings
Summary: isFunctionAvailable throws exception on valid version strings
Status: VERIFIED FIXED
Alias: None
Product: Jogl
Classification: JogAmp
Component: core (show other bugs)
Version: 1
Hardware: All windows
: P3 normal
Assignee: Sven Gothel
URL:
: 209 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-06-27 06:09 CEST by Sven Gothel
Modified: 2010-03-24 07:46 CET (History)
0 users

See Also:
Type: DEFECT
SCM Refs:
Workaround: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sven Gothel 2010-03-24 07:46:43 CET


---- Reported by jamcdonald 2004-06-27 18:09:56 ----

gl.isFunctionAvailable("glMinmax") throws an exception, when it should
return <false>. 

This appears to be due to an error in version parsing in the constructor:
net.java.games.jogl.impl.FunctionAvailabilityCache.Version (String)
which seems to expect version strings like "GL_VERSION_1_4".

"1.4.4145 WinXP Release" is a valid OpenGL version string,
according to the 1.5 spec. 

java.lang.IllegalArgumentException: Illegally formatted OpenGL version
identifier: "1.4.4145 WinXP Release"
  at
net.java.games.jogl.impl.FunctionAvailabilityCache.isPartOfGLCore(FunctionAvailabilityCache.java:196)
  at
net.java.games.jogl.impl.FunctionAvailabilityCache.isFunctionAvailable(FunctionAvailabilityCache.java:82)
  at net.java.games.jogl.impl.GLContext.isFunctionAvailable(GLContext.java:413)
  at
net.java.games.jogl.impl.windows.WindowsGLContext.isFunctionAvailable(WindowsGLContext.java:223)
  at
net.java.games.jogl.impl.windows.WindowsGLImpl.isFunctionAvailable(WindowsGLImpl.java:33892)
  at test.red.Minmax.init(Minmax.java:64)
  at net.java.games.jogl.impl.GLDrawableHelper.init(GLDrawableHelper.java:68)
  at net.java.games.jogl.GLCanvas$InitAction.run(GLCanvas.java:191)
  at
net.java.games.jogl.impl.windows.WindowsGLContext.makeCurrent(WindowsGLContext.java:160)
  at
net.java.games.jogl.impl.windows.WindowsOnscreenGLContext.makeCurrent(WindowsOnscreenGLContext.java:110)
  at net.java.games.jogl.impl.GLContext.invokeGL(GLContext.java:203)
  at net.java.games.jogl.GLCanvas.reshape(GLCanvas.java:97)
  at java.awt.Component.setBounds(Component.java:1664)
  at java.awt.BorderLayout.layoutContainer(BorderLayout.java:691)
  at java.awt.Container.layout(Container.java:1020)
  at java.awt.Container.doLayout(Container.java:1010)
  at java.awt.Container.validateTree(Container.java:1092)
  at java.awt.Container.validate(Container.java:1067)
  at java.awt.Window.pack(Window.java:444)
  at red.AFrame.<init>(AFrame.java:74)
  at test.red.Test.<init>(Test.java:253)
  at test.red.Minmax.<init>(Minmax.java:164)
  at test.red.Minmax.main(Minmax.java:186)



---- Additional Comments From kbr 2005-05-26 15:35:19 ----

I apologize for taking so long to fix this bug. You are correct; this is a
longstanding bug in JOGL's understanding of the association of core OpenGL
routines. The code needed to be adapted to handle both the GL_VERSION_X_Y format
coming out of the BuildStaticGLInfo class as well as the X.Y format coming out
of glGetString(GL_VERSION).




---- Additional Comments From kbr 2006-03-17 14:07:39 ----

*** Issue 209 has been marked as a duplicate of this issue. ***



--- Bug imported by sgothel@jausoft.com 2010-03-24 07:46 EDT  ---

This bug was previously known as _bug_ 94 at https://jogl.dev.java.net/bugs/show_bug.cgi?id=94

Unknown bug field "has_duplicates" encountered while moving bug
   <has_duplicates>
     <bug_id>209</bug_id>
     <who>kbr</who>
     <when>2006-03-17 14:07:39</when>
</has_duplicates>