[X2Go-Commits] nx-libs.git - build-baikal (branch) updated: nx-X11/3.1.0-3

X2Go dev team git-admin at x2go.org
Fri Aug 30 16:23:23 CEST 2013


The branch, build-baikal has been updated
       via  844a4094f098684dd1da5bc11e73479fb61373a3 (commit)
      from  f4092abdf94af6a99aff944d6264bc1284e8bdd4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 nx-X11/CHANGELOG                                   |   10 +++
 nx-X11/CHANGELOG.NX.original                       |   14 ++++
 ...NGELOG.X.original => WSDrawBuffer.h.X.original} |    0
 nx-X11/extras/Mesa/src/mesa/main/WSDrawBuffer.h    |   24 +++++++
 .../Mesa/src/mesa/main/WSDrawBuffer.h.NX.original  |   24 +++++++
 nx-X11/extras/Mesa/src/mesa/main/context.c         |   68 ++++++++++++++++++++
 .../mesa/main/{context.c => context.c.NX.original} |   68 ++++++++++++++++++++
 .../mesa/main/{context.c => context.c.X.original}  |    0
 nx-X11/lib/X11/cmsProp.c                           |    4 ++
 nx-X11/lib/X11/{cmsProp.c => cmsProp.c.X.original} |    0
 nx-X11/programs/Xserver/GL/mesa/X/Imakefile        |    2 +-
 .../GL/mesa/X/{Imakefile => Imakefile.NX.original} |    2 +-
 .../GL/mesa/X/{Imakefile => Imakefile.X.original}  |    0
 nx-X11/programs/Xserver/GL/mesa/X/xf86glx.c        |   40 +++++++++++-
 .../GL/mesa/X/{xf86glx.c => xf86glx.c.NX.original} |   40 +++++++++++-
 .../GL/mesa/X/{xf86glx.c => xf86glx.c.X.original}  |    0
 nx-X11/programs/Xserver/GL/mesa/main/Imakefile     |    2 +-
 .../mesa/main/{Imakefile => Imakefile.NX.original} |    2 +-
 .../mesa/main/{Imakefile => Imakefile.X.original}  |    0
 19 files changed, 294 insertions(+), 6 deletions(-)
 copy nx-X11/{CHANGELOG.X.original => WSDrawBuffer.h.X.original} (100%)
 create mode 100644 nx-X11/extras/Mesa/src/mesa/main/WSDrawBuffer.h
 create mode 100644 nx-X11/extras/Mesa/src/mesa/main/WSDrawBuffer.h.NX.original
 copy nx-X11/extras/Mesa/src/mesa/main/{context.c => context.c.NX.original} (97%)
 copy nx-X11/extras/Mesa/src/mesa/main/{context.c => context.c.X.original} (100%)
 copy nx-X11/lib/X11/{cmsProp.c => cmsProp.c.X.original} (100%)
 copy nx-X11/programs/Xserver/GL/mesa/X/{Imakefile => Imakefile.NX.original} (95%)
 copy nx-X11/programs/Xserver/GL/mesa/X/{Imakefile => Imakefile.X.original} (100%)
 copy nx-X11/programs/Xserver/GL/mesa/X/{xf86glx.c => xf86glx.c.NX.original} (97%)
 copy nx-X11/programs/Xserver/GL/mesa/X/{xf86glx.c => xf86glx.c.X.original} (100%)
 copy nx-X11/programs/Xserver/GL/mesa/main/{Imakefile => Imakefile.NX.original} (94%)
 copy nx-X11/programs/Xserver/GL/mesa/main/{Imakefile => Imakefile.X.original} (100%)

The diff of changes is:
diff --git a/nx-X11/CHANGELOG b/nx-X11/CHANGELOG
index b9eca2a..ec5d6f8 100644
--- a/nx-X11/CHANGELOG
+++ b/nx-X11/CHANGELOG
@@ -1,5 +1,15 @@
 ChangeLog:
 
+nx-X11-3.1.0-3
+
+- Moved a variable definition placed in _mesa_make_current().
+
+nx-X11-3.1.0-2
+
+- Fixed TR10E01924. A crash could occur in _mesa_make_current().
+
+- Initialized after_ret variable in _XcmsGetProperty().
+
 nx-X11-3.1.0-1
 
 - Opened the 3.1.0 branch based on nx-X11-3.0.0-37.
diff --git a/nx-X11/CHANGELOG.NX.original b/nx-X11/CHANGELOG.NX.original
index 0a45bea..ec5d6f8 100644
--- a/nx-X11/CHANGELOG.NX.original
+++ b/nx-X11/CHANGELOG.NX.original
@@ -1,5 +1,19 @@
 ChangeLog:
 
+nx-X11-3.1.0-3
+
+- Moved a variable definition placed in _mesa_make_current().
+
+nx-X11-3.1.0-2
+
+- Fixed TR10E01924. A crash could occur in _mesa_make_current().
+
+- Initialized after_ret variable in _XcmsGetProperty().
+
+nx-X11-3.1.0-1
+
+- Opened the 3.1.0 branch based on nx-X11-3.0.0-37.
+
 nx-X11-3.0.0-37
 
 - Changed the Xserver Imakefile to link against Xcomposite on the
diff --git a/nx-X11/CHANGELOG.X.original b/nx-X11/WSDrawBuffer.h.X.original
similarity index 100%
copy from nx-X11/CHANGELOG.X.original
copy to nx-X11/WSDrawBuffer.h.X.original
diff --git a/nx-X11/extras/Mesa/src/mesa/main/WSDrawBuffer.h b/nx-X11/extras/Mesa/src/mesa/main/WSDrawBuffer.h
new file mode 100644
index 0000000..bb49428
--- /dev/null
+++ b/nx-X11/extras/Mesa/src/mesa/main/WSDrawBuffer.h
@@ -0,0 +1,24 @@
+/**************************************************************************/
+/*                                                                        */
+/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/.         */
+/*                                                                        */
+/* NXAGENT, NX protocol compression and NX extensions to this software    */
+/* are copyright of NoMachine. Redistribution and use of the present      */
+/* software is allowed according to terms specified in the file LICENSE   */
+/* which comes in the source distribution.                                */
+/*                                                                        */
+/* Check http://www.nomachine.com/licensing.html for applicability.       */
+/*                                                                        */
+/* NX and NoMachine are trademarks of NoMachine S.r.l.                    */
+/*                                                                        */
+/* All rights reserved.                                                   */
+/*                                                                        */
+/**************************************************************************/
+
+typedef struct _WSDrawBufferRec {
+  GLframebuffer    *DrawBuffer;
+  struct _WSDrawBufferRec *next;
+} WSDrawBufferRec, *WSDrawBufferPtr;
+
+WSDrawBufferPtr pWSDrawBuffer;
+
diff --git a/nx-X11/extras/Mesa/src/mesa/main/WSDrawBuffer.h.NX.original b/nx-X11/extras/Mesa/src/mesa/main/WSDrawBuffer.h.NX.original
new file mode 100644
index 0000000..bb49428
--- /dev/null
+++ b/nx-X11/extras/Mesa/src/mesa/main/WSDrawBuffer.h.NX.original
@@ -0,0 +1,24 @@
+/**************************************************************************/
+/*                                                                        */
+/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/.         */
+/*                                                                        */
+/* NXAGENT, NX protocol compression and NX extensions to this software    */
+/* are copyright of NoMachine. Redistribution and use of the present      */
+/* software is allowed according to terms specified in the file LICENSE   */
+/* which comes in the source distribution.                                */
+/*                                                                        */
+/* Check http://www.nomachine.com/licensing.html for applicability.       */
+/*                                                                        */
+/* NX and NoMachine are trademarks of NoMachine S.r.l.                    */
+/*                                                                        */
+/* All rights reserved.                                                   */
+/*                                                                        */
+/**************************************************************************/
+
+typedef struct _WSDrawBufferRec {
+  GLframebuffer    *DrawBuffer;
+  struct _WSDrawBufferRec *next;
+} WSDrawBufferRec, *WSDrawBufferPtr;
+
+WSDrawBufferPtr pWSDrawBuffer;
+
diff --git a/nx-X11/extras/Mesa/src/mesa/main/context.c b/nx-X11/extras/Mesa/src/mesa/main/context.c
index 25a3f6a..eb4b4ce 100644
--- a/nx-X11/extras/Mesa/src/mesa/main/context.c
+++ b/nx-X11/extras/Mesa/src/mesa/main/context.c
@@ -131,6 +131,10 @@
 #endif
 #include "shaderobjects.h"
 
+#ifdef NXAGENT_SERVER
+#include "WSDrawBuffer.h"
+#endif
+
 #ifdef USE_SPARC_ASM
 #include "sparc/sparc.h"
 #endif
@@ -143,6 +147,47 @@ int MESA_VERBOSE = 0;
 int MESA_DEBUG_FLAGS = 0;
 #endif
 
+#ifdef NXAGENT_SERVER
+extern WSDrawBufferPtr pWSDrawBuffer;
+
+int IsWSDrawBuffer(GLframebuffer *mesa_buffer)
+{
+  WSDrawBufferPtr p = pWSDrawBuffer;
+
+  while (p != NULL) {
+    if (p -> DrawBuffer == mesa_buffer) {
+      return 1;
+    }
+    p = p -> next;
+  }
+  return 0;
+}
+
+void FreeWSDrawBuffer(GLframebuffer *mesa_buffer)
+{
+  WSDrawBufferPtr p = pWSDrawBuffer;
+  WSDrawBufferPtr pOld = NULL;
+
+  if (p == NULL)
+    return;
+
+  if (p -> DrawBuffer == mesa_buffer) {
+    pWSDrawBuffer = p -> next;
+    free(p);
+    return;
+  }
+
+  while (p -> next != NULL) {
+    if (p -> next -> DrawBuffer == mesa_buffer) {
+      pOld = p -> next;
+      p -> next = p -> next -> next;
+      free(pOld);
+      return;
+    }
+    p = p -> next;
+  }
+}
+#endif
 
 /* ubyte -> float conversion */
 GLfloat _mesa_ubyte_to_float_color_tab[256];
@@ -1520,6 +1565,10 @@ void
 _mesa_make_current( GLcontext *newCtx, GLframebuffer *drawBuffer,
                     GLframebuffer *readBuffer )
 {
+   #ifdef NXAGENT_SERVER
+   int flag;
+   #endif
+
    if (MESA_VERBOSE & VERBOSE_API)
       _mesa_debug(newCtx, "_mesa_make_current()\n");
 
@@ -1558,11 +1607,30 @@ _mesa_make_current( GLcontext *newCtx, GLframebuffer *drawBuffer,
          ASSERT(readBuffer->Name == 0);
          newCtx->WinSysDrawBuffer = drawBuffer;
          newCtx->WinSysReadBuffer = readBuffer;
+
+#ifdef NXAGENT_SERVER
+         flag = 0;
+         if (newCtx->DrawBuffer) {
+           if (!IsWSDrawBuffer(newCtx->DrawBuffer)) {
+             if (newCtx->DrawBuffer->Name == 0) {
+               flag = 1;
+             }
+             FreeWSDrawBuffer(newCtx->DrawBuffer);
+           }
+           else flag = 1;
+         }
+
+         if (!newCtx->DrawBuffer || flag) {
+           newCtx->DrawBuffer = drawBuffer;
+           newCtx->ReadBuffer = readBuffer;
+         }
+#else
          /* don't replace user-buffer bindings with window system buffer */
          if (!newCtx->DrawBuffer || newCtx->DrawBuffer->Name == 0) {
             newCtx->DrawBuffer = drawBuffer;
             newCtx->ReadBuffer = readBuffer;
          }
+#endif
 
 	 newCtx->NewState |= _NEW_BUFFERS;
 
diff --git a/nx-X11/extras/Mesa/src/mesa/main/context.c b/nx-X11/extras/Mesa/src/mesa/main/context.c.NX.original
similarity index 97%
copy from nx-X11/extras/Mesa/src/mesa/main/context.c
copy to nx-X11/extras/Mesa/src/mesa/main/context.c.NX.original
index 25a3f6a..eb4b4ce 100644
--- a/nx-X11/extras/Mesa/src/mesa/main/context.c
+++ b/nx-X11/extras/Mesa/src/mesa/main/context.c.NX.original
@@ -131,6 +131,10 @@
 #endif
 #include "shaderobjects.h"
 
+#ifdef NXAGENT_SERVER
+#include "WSDrawBuffer.h"
+#endif
+
 #ifdef USE_SPARC_ASM
 #include "sparc/sparc.h"
 #endif
@@ -143,6 +147,47 @@ int MESA_VERBOSE = 0;
 int MESA_DEBUG_FLAGS = 0;
 #endif
 
+#ifdef NXAGENT_SERVER
+extern WSDrawBufferPtr pWSDrawBuffer;
+
+int IsWSDrawBuffer(GLframebuffer *mesa_buffer)
+{
+  WSDrawBufferPtr p = pWSDrawBuffer;
+
+  while (p != NULL) {
+    if (p -> DrawBuffer == mesa_buffer) {
+      return 1;
+    }
+    p = p -> next;
+  }
+  return 0;
+}
+
+void FreeWSDrawBuffer(GLframebuffer *mesa_buffer)
+{
+  WSDrawBufferPtr p = pWSDrawBuffer;
+  WSDrawBufferPtr pOld = NULL;
+
+  if (p == NULL)
+    return;
+
+  if (p -> DrawBuffer == mesa_buffer) {
+    pWSDrawBuffer = p -> next;
+    free(p);
+    return;
+  }
+
+  while (p -> next != NULL) {
+    if (p -> next -> DrawBuffer == mesa_buffer) {
+      pOld = p -> next;
+      p -> next = p -> next -> next;
+      free(pOld);
+      return;
+    }
+    p = p -> next;
+  }
+}
+#endif
 
 /* ubyte -> float conversion */
 GLfloat _mesa_ubyte_to_float_color_tab[256];
@@ -1520,6 +1565,10 @@ void
 _mesa_make_current( GLcontext *newCtx, GLframebuffer *drawBuffer,
                     GLframebuffer *readBuffer )
 {
+   #ifdef NXAGENT_SERVER
+   int flag;
+   #endif
+
    if (MESA_VERBOSE & VERBOSE_API)
       _mesa_debug(newCtx, "_mesa_make_current()\n");
 
@@ -1558,11 +1607,30 @@ _mesa_make_current( GLcontext *newCtx, GLframebuffer *drawBuffer,
          ASSERT(readBuffer->Name == 0);
          newCtx->WinSysDrawBuffer = drawBuffer;
          newCtx->WinSysReadBuffer = readBuffer;
+
+#ifdef NXAGENT_SERVER
+         flag = 0;
+         if (newCtx->DrawBuffer) {
+           if (!IsWSDrawBuffer(newCtx->DrawBuffer)) {
+             if (newCtx->DrawBuffer->Name == 0) {
+               flag = 1;
+             }
+             FreeWSDrawBuffer(newCtx->DrawBuffer);
+           }
+           else flag = 1;
+         }
+
+         if (!newCtx->DrawBuffer || flag) {
+           newCtx->DrawBuffer = drawBuffer;
+           newCtx->ReadBuffer = readBuffer;
+         }
+#else
          /* don't replace user-buffer bindings with window system buffer */
          if (!newCtx->DrawBuffer || newCtx->DrawBuffer->Name == 0) {
             newCtx->DrawBuffer = drawBuffer;
             newCtx->ReadBuffer = readBuffer;
          }
+#endif
 
 	 newCtx->NewState |= _NEW_BUFFERS;
 
diff --git a/nx-X11/extras/Mesa/src/mesa/main/context.c b/nx-X11/extras/Mesa/src/mesa/main/context.c.X.original
similarity index 100%
copy from nx-X11/extras/Mesa/src/mesa/main/context.c
copy to nx-X11/extras/Mesa/src/mesa/main/context.c.X.original
diff --git a/nx-X11/lib/X11/cmsProp.c b/nx-X11/lib/X11/cmsProp.c
index 4040a05..81ea58c 100644
--- a/nx-X11/lib/X11/cmsProp.c
+++ b/nx-X11/lib/X11/cmsProp.c
@@ -121,7 +121,11 @@ _XcmsGetProperty(
     char *prop_ret;
     int format_ret;
     long len = 6516;
+    #ifdef NXAGENT_SERVER
+    unsigned long nitems_ret, after_ret = 0;
+    #else
     unsigned long nitems_ret, after_ret;
+    #endif
     Atom atom_ret;
     
     while (XGetWindowProperty (pDpy, w, property, 0, len, False, 
diff --git a/nx-X11/lib/X11/cmsProp.c b/nx-X11/lib/X11/cmsProp.c.X.original
similarity index 100%
copy from nx-X11/lib/X11/cmsProp.c
copy to nx-X11/lib/X11/cmsProp.c.X.original
diff --git a/nx-X11/programs/Xserver/GL/mesa/X/Imakefile b/nx-X11/programs/Xserver/GL/mesa/X/Imakefile
index 57fb7ff..f0e722f 100644
--- a/nx-X11/programs/Xserver/GL/mesa/X/Imakefile
+++ b/nx-X11/programs/Xserver/GL/mesa/X/Imakefile
@@ -57,7 +57,7 @@ GLXSRV_DEFINES = -DXFree86Server
 		-I$(XF86OSSRC) \
 		-I$(DRMSRCDIR)/shared-core
 
-      DEFINES = $(GLX_DEFINES) $(GLXSRV_DEFINES) /*-DUSE_X86_ASM*/ /*-DUSE_SPARC_ASM*/
+      DEFINES = $(GLX_DEFINES) $(GLXSRV_DEFINES) -DNXAGENT_SERVER /*-DUSE_X86_ASM*/ /*-DUSE_SPARC_ASM*/
 
 #ifdef IHaveModules
 ModuleObjectRule()
diff --git a/nx-X11/programs/Xserver/GL/mesa/X/Imakefile b/nx-X11/programs/Xserver/GL/mesa/X/Imakefile.NX.original
similarity index 95%
copy from nx-X11/programs/Xserver/GL/mesa/X/Imakefile
copy to nx-X11/programs/Xserver/GL/mesa/X/Imakefile.NX.original
index 57fb7ff..f0e722f 100644
--- a/nx-X11/programs/Xserver/GL/mesa/X/Imakefile
+++ b/nx-X11/programs/Xserver/GL/mesa/X/Imakefile.NX.original
@@ -57,7 +57,7 @@ GLXSRV_DEFINES = -DXFree86Server
 		-I$(XF86OSSRC) \
 		-I$(DRMSRCDIR)/shared-core
 
-      DEFINES = $(GLX_DEFINES) $(GLXSRV_DEFINES) /*-DUSE_X86_ASM*/ /*-DUSE_SPARC_ASM*/
+      DEFINES = $(GLX_DEFINES) $(GLXSRV_DEFINES) -DNXAGENT_SERVER /*-DUSE_X86_ASM*/ /*-DUSE_SPARC_ASM*/
 
 #ifdef IHaveModules
 ModuleObjectRule()
diff --git a/nx-X11/programs/Xserver/GL/mesa/X/Imakefile b/nx-X11/programs/Xserver/GL/mesa/X/Imakefile.X.original
similarity index 100%
copy from nx-X11/programs/Xserver/GL/mesa/X/Imakefile
copy to nx-X11/programs/Xserver/GL/mesa/X/Imakefile.X.original
diff --git a/nx-X11/programs/Xserver/GL/mesa/X/xf86glx.c b/nx-X11/programs/Xserver/GL/mesa/X/xf86glx.c
index 5dd4e7c..19b5be6 100644
--- a/nx-X11/programs/Xserver/GL/mesa/X/xf86glx.c
+++ b/nx-X11/programs/Xserver/GL/mesa/X/xf86glx.c
@@ -71,6 +71,10 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #include "glcontextmodes.h"
 
+#ifdef NXAGENT_SERVER
+#include "../main/WSDrawBuffer.h"
+#endif
+
 /*
  * This structure is statically allocated in the __glXScreens[]
  * structure.  This struct is not used anywhere other than in
@@ -95,6 +99,36 @@ static __GLXscreenInfo __glDDXScreenInfo = {
     NULL                  /* WrappedPositionWindow is overwritten */
 };
 
+#ifdef NXAGENT_SERVER
+WSDrawBufferPtr pWSDrawBuffer = NULL;
+
+void AddWSDrawBuffer(GLframebuffer *mesa_buffer)
+{
+  WSDrawBufferPtr prevWSDB;
+  WSDrawBufferPtr newWSDB;
+  WSDrawBufferPtr p;
+
+  prevWSDB = NULL;
+  newWSDB = NULL;
+  p = pWSDrawBuffer;
+  while (p != NULL) {
+    prevWSDB = p;
+    if (prevWSDB -> DrawBuffer == mesa_buffer) {
+      return;
+    }
+    p = p -> next;
+  }
+  newWSDB = malloc(sizeof(WSDrawBufferRec));
+  newWSDB -> DrawBuffer = mesa_buffer;
+  newWSDB -> next = NULL;
+
+  if (pWSDrawBuffer == NULL)
+    pWSDrawBuffer = newWSDB;
+  else
+    prevWSDB -> next = newWSDB;
+}
+#endif
+
 void *__glXglDDXScreenInfo(void) {
     return &__glDDXScreenInfo;
 }
@@ -748,6 +782,10 @@ void __MESA_destroyBuffer(__GLdrawablePrivate *glPriv)
     __MESA_buffer buf = (__MESA_buffer)glPriv->private;
     __GLXdrawablePrivate *glxPriv = (__GLXdrawablePrivate *)glPriv->other;
 
+#ifdef NXAGENT_SERVER
+    AddWSDrawBuffer(& (buf -> xm_buf -> mesa_buffer) );
+#endif
+
     /* Destroy Mesa's buffers */
     if (buf->xm_buf)
 	XMesaDestroyBuffer(buf->xm_buf);
@@ -757,7 +795,7 @@ void __MESA_destroyBuffer(__GLdrawablePrivate *glPriv)
     glPriv->frontBuffer.resize = buf->fbresize;
 
     __glXFree(glPriv->private);
-    glPriv->private = NULL;
+    glPriv->private = NULL; 
 }
 
 __GLinterface *__MESA_createContext(__GLimports *imports,
diff --git a/nx-X11/programs/Xserver/GL/mesa/X/xf86glx.c b/nx-X11/programs/Xserver/GL/mesa/X/xf86glx.c.NX.original
similarity index 97%
copy from nx-X11/programs/Xserver/GL/mesa/X/xf86glx.c
copy to nx-X11/programs/Xserver/GL/mesa/X/xf86glx.c.NX.original
index 5dd4e7c..19b5be6 100644
--- a/nx-X11/programs/Xserver/GL/mesa/X/xf86glx.c
+++ b/nx-X11/programs/Xserver/GL/mesa/X/xf86glx.c.NX.original
@@ -71,6 +71,10 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #include "glcontextmodes.h"
 
+#ifdef NXAGENT_SERVER
+#include "../main/WSDrawBuffer.h"
+#endif
+
 /*
  * This structure is statically allocated in the __glXScreens[]
  * structure.  This struct is not used anywhere other than in
@@ -95,6 +99,36 @@ static __GLXscreenInfo __glDDXScreenInfo = {
     NULL                  /* WrappedPositionWindow is overwritten */
 };
 
+#ifdef NXAGENT_SERVER
+WSDrawBufferPtr pWSDrawBuffer = NULL;
+
+void AddWSDrawBuffer(GLframebuffer *mesa_buffer)
+{
+  WSDrawBufferPtr prevWSDB;
+  WSDrawBufferPtr newWSDB;
+  WSDrawBufferPtr p;
+
+  prevWSDB = NULL;
+  newWSDB = NULL;
+  p = pWSDrawBuffer;
+  while (p != NULL) {
+    prevWSDB = p;
+    if (prevWSDB -> DrawBuffer == mesa_buffer) {
+      return;
+    }
+    p = p -> next;
+  }
+  newWSDB = malloc(sizeof(WSDrawBufferRec));
+  newWSDB -> DrawBuffer = mesa_buffer;
+  newWSDB -> next = NULL;
+
+  if (pWSDrawBuffer == NULL)
+    pWSDrawBuffer = newWSDB;
+  else
+    prevWSDB -> next = newWSDB;
+}
+#endif
+
 void *__glXglDDXScreenInfo(void) {
     return &__glDDXScreenInfo;
 }
@@ -748,6 +782,10 @@ void __MESA_destroyBuffer(__GLdrawablePrivate *glPriv)
     __MESA_buffer buf = (__MESA_buffer)glPriv->private;
     __GLXdrawablePrivate *glxPriv = (__GLXdrawablePrivate *)glPriv->other;
 
+#ifdef NXAGENT_SERVER
+    AddWSDrawBuffer(& (buf -> xm_buf -> mesa_buffer) );
+#endif
+
     /* Destroy Mesa's buffers */
     if (buf->xm_buf)
 	XMesaDestroyBuffer(buf->xm_buf);
@@ -757,7 +795,7 @@ void __MESA_destroyBuffer(__GLdrawablePrivate *glPriv)
     glPriv->frontBuffer.resize = buf->fbresize;
 
     __glXFree(glPriv->private);
-    glPriv->private = NULL;
+    glPriv->private = NULL; 
 }
 
 __GLinterface *__MESA_createContext(__GLimports *imports,
diff --git a/nx-X11/programs/Xserver/GL/mesa/X/xf86glx.c b/nx-X11/programs/Xserver/GL/mesa/X/xf86glx.c.X.original
similarity index 100%
copy from nx-X11/programs/Xserver/GL/mesa/X/xf86glx.c
copy to nx-X11/programs/Xserver/GL/mesa/X/xf86glx.c.X.original
diff --git a/nx-X11/programs/Xserver/GL/mesa/main/Imakefile b/nx-X11/programs/Xserver/GL/mesa/main/Imakefile
index 4638122..6287b92 100644
--- a/nx-X11/programs/Xserver/GL/mesa/main/Imakefile
+++ b/nx-X11/programs/Xserver/GL/mesa/main/Imakefile
@@ -39,7 +39,7 @@ SUBDIRS = module
                 -I$(LIBSRC)/GL/include \
                 -I$(XF86SRC) -I$(INCLUDESRC)
 
-      DEFINES = $(GLX_DEFINES) /*-DUSE_X86_ASM*/ /*-DUSE_SPARC_ASM*/
+      DEFINES = $(GLX_DEFINES) -DNXAGENT_SERVER /*-DUSE_X86_ASM*/ /*-DUSE_SPARC_ASM*/
 
 #ifdef IHaveModules
 ModuleObjectRule()
diff --git a/nx-X11/programs/Xserver/GL/mesa/main/Imakefile b/nx-X11/programs/Xserver/GL/mesa/main/Imakefile.NX.original
similarity index 94%
copy from nx-X11/programs/Xserver/GL/mesa/main/Imakefile
copy to nx-X11/programs/Xserver/GL/mesa/main/Imakefile.NX.original
index 4638122..6287b92 100644
--- a/nx-X11/programs/Xserver/GL/mesa/main/Imakefile
+++ b/nx-X11/programs/Xserver/GL/mesa/main/Imakefile.NX.original
@@ -39,7 +39,7 @@ SUBDIRS = module
                 -I$(LIBSRC)/GL/include \
                 -I$(XF86SRC) -I$(INCLUDESRC)
 
-      DEFINES = $(GLX_DEFINES) /*-DUSE_X86_ASM*/ /*-DUSE_SPARC_ASM*/
+      DEFINES = $(GLX_DEFINES) -DNXAGENT_SERVER /*-DUSE_X86_ASM*/ /*-DUSE_SPARC_ASM*/
 
 #ifdef IHaveModules
 ModuleObjectRule()
diff --git a/nx-X11/programs/Xserver/GL/mesa/main/Imakefile b/nx-X11/programs/Xserver/GL/mesa/main/Imakefile.X.original
similarity index 100%
copy from nx-X11/programs/Xserver/GL/mesa/main/Imakefile
copy to nx-X11/programs/Xserver/GL/mesa/main/Imakefile.X.original


hooks/post-receive
-- 
nx-libs.git (NX (redistributed))

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "nx-libs.git" (NX (redistributed)).




More information about the x2go-commits mailing list