---
 src/glx/x11/glx_query.c |   10 ++++++----
 src/glx/x11/glxclient.h |    6 ++++--
 src/glx/x11/glxcmds.c   |    4 ++--
 src/glx/x11/glxext.c    |    4 ++--
 src/glx/x11/single2.c   |    2 +-
 5 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/src/glx/x11/glx_query.c b/src/glx/x11/glx_query.c
index 4197bb1..9e9b6fd 100644
--- a/src/glx/x11/glx_query.c
+++ b/src/glx/x11/glx_query.c
@@ -45,6 +45,7 @@
  */
 char *
 __glXQueryServerString(Display* dpy,
+                       int opcode,
                        CARD32 screen,
                        CARD32 name)
 {
@@ -71,6 +72,7 @@ __glXQueryServerString(Display* dpy,
  */
 char *
 __glXGetString(Display* dpy,
+               int opcode,
                CARD32 contextTag,
                CARD32 name)
 {
@@ -168,22 +170,22 @@ __glXGetStringFromServer(Display * dpy, int opcode, 
CARD32 glxCode,
 
 char *
 __glXQueryServerString(Display* dpy,
+                       int opcode,
                        CARD32 screen,
                        CARD32 name)
 {
-   GLXContext gc = __glXGetCurrentContext();
-   return __glXGetStringFromServer(dpy, gc->majorOpcode,
+   return __glXGetStringFromServer(dpy, opcode,
                                    X_GLXQueryServerString,
                                    screen, name);
 }
 
 char *
 __glXGetString(Display* dpy,
+               int opcode,
                CARD32 contextTag,
                CARD32 name)
 {
-   GLXContext gc = __glXGetCurrentContext();
-   return __glXGetStringFromServer(dpy, gc->majorOpcode, X_GLsop_GetString,
+   return __glXGetStringFromServer(dpy, opcode, X_GLsop_GetString,
                                    contextTag, name);
 }
 
diff --git a/src/glx/x11/glxclient.h b/src/glx/x11/glxclient.h
index caa351b..7fc1a6f 100644
--- a/src/glx/x11/glxclient.h
+++ b/src/glx/x11/glxclient.h
@@ -740,8 +740,10 @@ extern void _XSend(Display*, const void*, long);
 extern void __glXInitializeVisualConfigFromTags( __GLcontextModes *config,
     int count, const INT32 *bp, Bool tagged_only, Bool fbconfig_style_tags );
 
-extern char * __glXQueryServerString(Display* dpy, CARD32 screen, CARD32 name);
-extern char * __glXGetString(Display* dpy, CARD32 screen, CARD32 name);
+extern char * __glXQueryServerString(Display* dpy, int opcode,
+                                     CARD32 screen, CARD32 name);
+extern char * __glXGetString(Display* dpy, int opcode,
+                             CARD32 screen, CARD32 name);
 
 extern char *__glXstrdup(const char *str);
 
diff --git a/src/glx/x11/glxcmds.c b/src/glx/x11/glxcmds.c
index 565015e..bd39a87 100644
--- a/src/glx/x11/glxcmds.c
+++ b/src/glx/x11/glxcmds.c
@@ -1337,7 +1337,7 @@ PUBLIC const char *glXQueryExtensionsString( Display 
*dpy, int screen )
     if (!psc->effectiveGLXexts) {
         if (!psc->serverGLXexts) {
            psc->serverGLXexts =
-              __glXQueryServerString(dpy, screen, GLX_EXTENSIONS);
+              __glXQueryServerString(dpy, priv->majorOpcode, screen, 
GLX_EXTENSIONS);
        }
 
        __glXCalculateUsableExtensions(psc,
@@ -1392,7 +1392,7 @@ PUBLIC const char *glXQueryServerString( Display *dpy, 
int screen, int name )
     }
 
     if ( *str == NULL ) {
-       *str = __glXQueryServerString(dpy, screen, name);
+       *str = __glXQueryServerString(dpy, priv->majorOpcode, screen, name);
     }
     
     return *str;
diff --git a/src/glx/x11/glxext.c b/src/glx/x11/glxext.c
index c5fada9..02b611f 100644
--- a/src/glx/x11/glxext.c
+++ b/src/glx/x11/glxext.c
@@ -551,7 +551,7 @@ getFBConfigs(Display * dpy, __GLXdisplayPrivate * priv, int 
screen)
    __GLXscreenConfigs *psc;
 
    psc = priv->screenConfigs + screen;
-   psc->serverGLXexts = __glXQueryServerString(dpy, screen, GLX_EXTENSIONS);
+   psc->serverGLXexts = __glXQueryServerString(dpy, priv->majorOpcode, screen, 
GLX_EXTENSIONS);
 
    LockDisplay(dpy);
 
@@ -609,7 +609,7 @@ AllocAndFetchScreenConfigs(Display * dpy, 
__GLXdisplayPrivate * priv)
    memset(psc, 0, screens * sizeof(__GLXscreenConfigs));
    priv->screenConfigs = psc;
 
-   priv->serverGLXversion = __glXQueryServerString(dpy, 0, GLX_VERSION);
+   priv->serverGLXversion = __glXQueryServerString(dpy, priv->majorOpcode, 0, 
GLX_VERSION);
    if (priv->serverGLXversion == NULL) {
       FreeScreenConfigs(priv);
       return GL_FALSE;
diff --git a/src/glx/x11/single2.c b/src/glx/x11/single2.c
index 9d05859..afbe986 100644
--- a/src/glx/x11/single2.c
+++ b/src/glx/x11/single2.c
@@ -672,7 +672,7 @@ __indirect_glGetString(GLenum name)
     */
 
    (void) __glXFlushRenderBuffer(gc, gc->pc);
-   s = (GLubyte *) __glXGetString(dpy, gc->currentContextTag, name);
+   s = (GLubyte *) __glXGetString(dpy, gc->majorOpcode, gc->currentContextTag, 
name);
    if (!s) {
       /* Throw data on the floor */
       __glXSetError(gc, GL_OUT_OF_MEMORY);
-- 
1.6.0.2


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to