X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/498ace9e1f08b1e177b1a883ac69d12385e805b0..e187c604aba204b41e40e400ddfcb69515650d4d:/src/unix/glx11.cpp diff --git a/src/unix/glx11.cpp b/src/unix/glx11.cpp index 576c7c84fe..b4a8b2d147 100644 --- a/src/unix/glx11.cpp +++ b/src/unix/glx11.cpp @@ -22,6 +22,7 @@ #if wxUSE_GLCANVAS #ifndef WX_PRECOMP + #include "wx/log.h" #endif //WX_PRECOMP #include "wx/glcanvas.h" @@ -160,9 +161,6 @@ wxGLCanvasX11::ConvertWXAttrsToGL(const int *wxattrs, int *glattrs, size_t n) if ( p >= n - 2 ) return false; - // notice that for boolean attributes we use "continue" in the - // switch to skip the assignment of the attribute value at the end - // of the loop which is done for integer attributes switch ( wxattrs[arg++] ) { case WX_GL_RGBA: @@ -174,6 +172,9 @@ wxGLCanvasX11::ConvertWXAttrsToGL(const int *wxattrs, int *glattrs, size_t n) { glattrs[p++] = GLX_RGBA; } + + // use "continue" to skip the assignment of the attribute + // value at the end of the loop continue; case WX_GL_BUFFER_SIZE: @@ -184,13 +185,21 @@ wxGLCanvasX11::ConvertWXAttrsToGL(const int *wxattrs, int *glattrs, size_t n) glattrs[p++] = GLX_LEVEL; break; + // the following boolean attributes don't have values in wx + // API (they're turned on if specified) but do have them in + // OpenGL, so do put them into glattrs and also skip the + // copy of wx value after switch by using "continue" + // instead of "break" case WX_GL_DOUBLEBUFFER: glattrs[p++] = GLX_DOUBLEBUFFER; + glattrs[p++] = True; continue; case WX_GL_STEREO: glattrs[p++] = GLX_STEREO; - break; + glattrs[p++] = True; + continue; + case WX_GL_AUX_BUFFERS: glattrs[p++] = GLX_AUX_BUFFERS;