projects
/
freeglut
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixing the DOS/Linux line ending problems in the progs/demos/smooth_opengl3 project...
[freeglut]
/
src
/
freeglut_window.c
diff --git
a/src/freeglut_window.c
b/src/freeglut_window.c
index
7b87792
..
8027e6b
100644
(file)
--- a/
src/freeglut_window.c
+++ b/
src/freeglut_window.c
@@
-300,14
+300,18
@@
typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShar
#endif
#endif
-GLboolean fgNewWGLCreateContext( SFG_Window* window )
+void fgNewWGLCreateContext( SFG_Window* window )
{
PFNWGLGETEXTENSIONSSTRINGARBPROC wglGetEntensionsStringARB;
{
PFNWGLGETEXTENSIONSSTRINGARBPROC wglGetEntensionsStringARB;
+ HGLRC context;
+ int attribs[7];
+ PFNWGLCREATECONTEXTATTRIBSARBPROC wglCreateContextAttribsARB;
+ const char * pWglExtString;
- if( (fgState.ContextFlags & GLUT_FORWARD_COMPATIBLE) &&
- (fgState.MajorVersion > 2) )
+ /* If nothing fancy has been required, leave the context as it is */
+ if ( fgState.MajorVersion == 1 && fgState.MinorVersion == 0 && fgState.ContextFlags == 0 )
{
{
- return GL_TRUE;
+ return;
}
wglMakeCurrent( window->Window.Device,
}
wglMakeCurrent( window->Window.Device,
@@
-316,25
+320,16
@@
GLboolean fgNewWGLCreateContext( SFG_Window* window )
wglGetEntensionsStringARB=(PFNWGLGETEXTENSIONSSTRINGARBPROC)wglGetProcAddress("wglGetExtensionsStringARB");
if ( wglGetEntensionsStringARB == NULL )
{
wglGetEntensionsStringARB=(PFNWGLGETEXTENSIONSSTRINGARBPROC)wglGetProcAddress("wglGetExtensionsStringARB");
if ( wglGetEntensionsStringARB == NULL )
{
- return GL_TRUE;
- }
-
- const char * pWglExtString=wglGetEntensionsStringARB(window->Window.Device);
- if ( pWglExtString == NULL )
- {
- return GL_TRUE;
+ return;
}
}
- if ( strstr(pWglExtString, "WGL_ARB_create_context") == NULL )
+ pWglExtString=wglGetEntensionsStringARB(window->Window.Device);
+ if (( pWglExtString == NULL ) || ( strstr(pWglExtString, "WGL_ARB_create_context") == NULL ))
{
{
- return GL_TRUE;
+ return;
}
/* new context creation */
}
/* new context creation */
- HGLRC context;
- int attribs[7];
- PFNWGLCREATECONTEXTATTRIBSARBPROC wglCreateContextAttribsARB;
-
attribs[0] = WGL_CONTEXT_MAJOR_VERSION_ARB;
attribs[1] = fgState.MajorVersion;
attribs[2] = WGL_CONTEXT_MINOR_VERSION_ARB;
attribs[0] = WGL_CONTEXT_MAJOR_VERSION_ARB;
attribs[1] = fgState.MajorVersion;
attribs[2] = WGL_CONTEXT_MINOR_VERSION_ARB;
@@
-356,15
+351,10
@@
GLboolean fgNewWGLCreateContext( SFG_Window* window )
fgError( "Unable to create OpenGL %d.%d context (flags %x)",
fgState.MajorVersion, fgState.MinorVersion, fgState.ContextFlags );
}
fgError( "Unable to create OpenGL %d.%d context (flags %x)",
fgState.MajorVersion, fgState.MinorVersion, fgState.ContextFlags );
}
- else
- {
- fgWarning( "Success 3.0" );
- wglMakeCurrent( NULL, NULL );
- wglDeleteContext( window->Window.Context );
- window->Window.Context = context;
- }
- return GL_TRUE;
+ wglMakeCurrent( NULL, NULL );
+ wglDeleteContext( window->Window.Context );
+ window->Window.Context = context;
}
}