patch opengl.c, wgl.c

Henry Kroll admin at comptune.com
Sat Mar 18 12:48:12 CST 2006


Changelog:
Henry Kroll, admin at comptune.com corrects X "bad match" errors when
running opengl apps.

Ref: http://bugs.winehq.org/show_bug.cgi?id=4143

==========================
--- wine/dlls/x11drv/opengl.c.orig	2006-03-11 11:58:01.000000000 -0900
+++ wine/dlls/x11drv/opengl.c	2006-03-11 11:58:09.000000000 -0900
@@ -199,6 +199,12 @@
     dump_PIXELFORMATDESCRIPTOR((const PIXELFORMATDESCRIPTOR *) ppfd);
   }
 
+  if (ppfd->dwFlags & PFD_DRAW_TO_BITMAP) {
+    ERR("Flag not supported !\n");
+    /* Should SetError here... */
+    return 0;
+  }
+
   /* Now, build the request to GLX */
   
   if (ppfd->iPixelType == PFD_TYPE_COLORINDEX) {
--- wine/dlls/opengl32/wgl.c.orig	2006-03-11 11:58:01.000000000 -0900
+++ wine/dlls/opengl32/wgl.c	2006-03-11 11:58:09.000000000 -0900
@@ -154,11 +154,11 @@
 }
 

-/* retrieve the GLX drawable to use on a given DC */
+/* retrieve the X drawable to use on a given DC */
 inline static Drawable get_drawable( HDC hdc )
 {
-    GLXDrawable drawable;
-    enum x11drv_escape_codes escape = X11DRV_GET_GLX_DRAWABLE;
+    Drawable drawable;
+    enum x11drv_escape_codes escape = X11DRV_GET_DRAWABLE;
 
     if (!ExtEscape( hdc, X11DRV_ESCAPE, sizeof(escape), (LPCSTR)&escape,
                     sizeof(drawable), (LPSTR)&drawable )) drawable = 0;
@@ -571,8 +571,6 @@
       }
       TRACE(" make current for dis %p, drawable %p, ctx %p\n", ctx->display,
(void*) drawable, ctx->ctx);
       ret = glXMakeCurrent(ctx->display, drawable, ctx->ctx);
-      if(ret && type == OBJ_MEMDC)
-          glDrawBuffer(GL_FRONT_LEFT);
   }
   LEAVE_GL();
   TRACE(" returning %s\n", (ret ? "True" : "False"));

======================



More information about the wine-patches mailing list