From fc0de1738c865aaabf886833709255029b68be03 Mon Sep 17 00:00:00 2001
From: Roderick Colenbrander <thunderbird2k@gmail.com>
Date: Fri, 13 Nov 2009 12:28:48 +0100
Subject: [PATCH 2/2] Make sure we set a valid value for GLX_DRAWABLE_TYPE. Right now we default to 0 which is illegal.

---
 dlls/winex11.drv/opengl.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c
index b680bb9..45da479 100644
--- a/dlls/winex11.drv/opengl.c
+++ b/dlls/winex11.drv/opengl.c
@@ -795,8 +795,10 @@ static int ConvertAttribWGLtoGLX(const int* iWGLAttr, int* oGLXAttr, Wine_GLPBuf
     ++cur;
   }
 
-  /* Apply the OR'd drawable type bitmask now EVEN when WGL_DRAW_TO* is unset.
-   * It is needed in all cases because GLX_DRAWABLE_TYPE default to GLX_WINDOW_BIT. */
+  /* By default glXChooseFBConfig defaults to GLX_WINDOW_BIT. wglChoosePixelFormatARB searches through
+   * all formats. Unless drawattrib is set to a non-zero value override it with ~0, so that pixmap and pbuffer
+   * formats appear as well. */
+  if(!drawattrib) drawattrib = ~0;
   PUSH2(oGLXAttr, GLX_DRAWABLE_TYPE, drawattrib);
   TRACE("pAttr[?] = GLX_DRAWABLE_TYPE: %#x\n", drawattrib);
 
-- 
1.6.3.3

