X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/50c95f691c6a37db5ff545d2c477c4cf008e3432..68ca12fef650ce4622e05ba4eb21a7aa23849107:/src/unix/glx11.cpp diff --git a/src/unix/glx11.cpp b/src/unix/glx11.cpp index d31f34c936..b4a8b2d147 100644 --- a/src/unix/glx11.cpp +++ b/src/unix/glx11.cpp @@ -161,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: @@ -175,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: @@ -185,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;