Mailinglist Archive: opensuse-commit (1124 mails)

< Previous Next >
commit xorg-x11-server
  • From: root@xxxxxxxxxxxxxxx (h_root)
  • Date: Thu, 12 Apr 2007 18:22:12 +0200
  • Message-id: <20070412162212.BED43678179@xxxxxxxxxxxxxxx>

Hello community,

here is the log from the commit of package xorg-x11-server
checked in at Thu Apr 12 18:22:12 CEST 2007.

--------
--- xorg-x11-server/xorg-x11-server.changes     2007-03-30 12:21:46.000000000 +0200
+++ /mounts/work_src_done/STABLE/xorg-x11-server/xorg-x11-server.changes        2007-04-10 15:34:03.000000000 +0200
@@ -1,0 +2,39 @@
+Tue Apr 10 15:33:59 CEST 2007 - sndirsch@xxxxxxx
+
+- Mesa-6.5.2-fix_radeon_cliprect.diff:
+  * fixes X.Org Bug #9876 
+
+-------------------------------------------------------------------
+Fri Apr  6 13:21:07 CEST 2007 - sndirsch@xxxxxxx
+
+- bug-259290_trapfault.diff:
+  * fixes crash caused by bug in XRender code (Bug #259290)
+
+-------------------------------------------------------------------
+Fri Apr  6 12:08:17 CEST 2007 - sndirsch@xxxxxxx
+
+- xserver 1.2.99.905 release:
+  * CVE-2007-1003: XC-MISC Extension ProcXCMiscGetXIDList() Memory 
+    Corruption
+  * X.Org Bug #10296: Fix timer rescheduling
+- obsoletes bug-243978_xcmisc.diff
+
+-------------------------------------------------------------------
+Fri Apr  6 12:07:33 CEST 2007 - sndirsch@xxxxxxx
+
+- xserver 1.2.99.904 release:
+  * Don't erase current crtc for outputs on CloseScreen
+
+-------------------------------------------------------------------
+Thu Apr  5 00:37:51 CEST 2007 - sndirsch@xxxxxxx
+
+- bug-243978_xcmisc.diff: 
+  * mem corruption in ProcXCMiscGetXIDList (CVE-2007-1003, Bug #243978)
+
+-------------------------------------------------------------------
+Wed Apr  4 22:07:02 CEST 2007 - sndirsch@xxxxxxx
+
+-  bug-211314_mesa-refcount-memleak-fixes.diff:
+  * Fix for memleaks and refount bugs (Bug #211314)
+
+-------------------------------------------------------------------

Old:
----
  xorg-server-1.2.99.903.tar.bz2

New:
----
  bug-211314_mesa-refcount-memleak-fixes.diff
  bug-259290_trapfault.diff
  Mesa-6.5.2-fix_radeon_cliprect.diff
  xorg-server-1.2.99.905.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xorg-x11-server.spec ++++++
--- /var/tmp/diff_new_pack.x17532/_old  2007-04-12 18:21:46.000000000 +0200
+++ /var/tmp/diff_new_pack.x17532/_new  2007-04-12 18:21:46.000000000 +0200
@@ -11,7 +11,7 @@
 # norootforbuild
 
 Name:           xorg-x11-server
-%define dirsuffix 1.2.99.903
+%define dirsuffix 1.2.99.905
 %define fglrx_driver_hack 1
 %define vnc 0
 BuildRequires:  Mesa-devel fontconfig-devel freetype2-devel ghostscript-library glitz-devel libdrm-devel pkgconfig xorg-x11 xorg-x11-devel xorg-x11-libICE-devel xorg-x11-libSM-devel xorg-x11-libX11-devel xorg-x11-libXau-devel xorg-x11-libXdmcp-devel xorg-x11-libXext-devel xorg-x11-libXfixes-devel xorg-x11-libXmu-devel xorg-x11-libXp-devel xorg-x11-libXpm-devel xorg-x11-libXprintUtil-devel xorg-x11-libXrender-devel xorg-x11-libXt-devel xorg-x11-libXv-devel xorg-x11-libfontenc-devel xorg-x11-libxkbfile-devel xorg-x11-proto-devel xorg-x11-xtrans-devel
@@ -21,7 +21,7 @@
 URL:            http://xorg.freedesktop.org/
 %define EXPERIMENTAL 0
 Version:        7.2
-Release:        66
+Release:        69
 License:        X11/MIT
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Group:          System/X11/Servers/XF86_4
@@ -94,6 +94,9 @@
 Patch57:        bug-211314-patch-9.diff
 Patch58:        bug-211314-patch-10.diff
 Patch59:        bug-211314-patch-11.diff
+Patch60:        bug-211314_mesa-refcount-memleak-fixes.diff
+Patch61:        bug-259290_trapfault.diff
+Patch62:        Mesa-6.5.2-fix_radeon_cliprect.diff
 Patch334:       p_pci-domain.diff
 Patch357:       p_pci-ce-x.diff
 
@@ -200,7 +203,10 @@
 %patch57 -p1
 %patch58 -p1
 %patch59 -p1
+%patch60 -p1
+%patch62 -p1
 popd
+%patch61 -p1
 
 %build
 autoreconf -fi
@@ -531,6 +537,27 @@
 %endif
 
 %changelog
+* Tue Apr 10 2007 - sndirsch@xxxxxxx
+- Mesa-6.5.2-fix_radeon_cliprect.diff:
+  * fixes X.Org Bug #9876
+* Fri Apr 06 2007 - sndirsch@xxxxxxx
+- bug-259290_trapfault.diff:
+  * fixes crash caused by bug in XRender code (Bug #259290)
+* Fri Apr 06 2007 - sndirsch@xxxxxxx
+- xserver 1.2.99.905 release:
+  * CVE-2007-1003: XC-MISC Extension ProcXCMiscGetXIDList() Memory
+  Corruption
+  * X.Org Bug #10296: Fix timer rescheduling
+- obsoletes bug-243978_xcmisc.diff
+* Fri Apr 06 2007 - sndirsch@xxxxxxx
+- xserver 1.2.99.904 release:
+  * Don't erase current crtc for outputs on CloseScreen
+* Thu Apr 05 2007 - sndirsch@xxxxxxx
+- bug-243978_xcmisc.diff:
+  * mem corruption in ProcXCMiscGetXIDList (CVE-2007-1003, Bug #243978)
+* Wed Apr 04 2007 - sndirsch@xxxxxxx
+-  bug-211314_mesa-refcount-memleak-fixes.diff:
+  * Fix for memleaks and refount bugs (Bug #211314)
 * Fri Mar 30 2007 - sndirsch@xxxxxxx
 - p_default-module-path.diff:
   * only return /usr/%%lib/xorg/modules in "-showDefaultModulePath"


++++++ bug-211314_mesa-refcount-memleak-fixes.diff ++++++
commit 42aaa548a1020be5d40b3dce9448d8004b1ef947
Author: Brian <brian@xxxxxxxxxxxxxxxxxxxxx>
Date:   Sun Mar 25 10:39:36 2007 -0600

    Fix some renderbuffer reference counting issues.  Also fixes a mem leak.

diff --git a/src/mesa/drivers/x11/xm_buffer.c b/src/mesa/drivers/x11/xm_buffer.c
index c1fa233..bb8fe31 100644
--- a/src/mesa/drivers/x11/xm_buffer.c
+++ b/src/mesa/drivers/x11/xm_buffer.c
@@ -422,18 +422,6 @@ xmesa_delete_framebuffer(struct gl_frame
       XMesaDestroyImage( b->rowimage );
    }
 
-   /* Note that XMesaBuffer renderbuffers normally have a refcount of 2
-    * (creation + binding) so we need to explicitly delete/unbind them here.
-    */
-   if (b->frontxrb) {
-      _mesa_unreference_renderbuffer((struct gl_renderbuffer **) &b->frontxrb);
-      ASSERT(b->frontxrb == NULL);
-   }
-   if (b->backxrb) {
-      _mesa_unreference_renderbuffer((struct gl_renderbuffer **) &b->backxrb);
-      ASSERT(b->backxrb == NULL);
-   }
-
    _mesa_free_framebuffer_data(fb);
    _mesa_free(fb);
 }
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index f7e870b..fefa14e 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -559,7 +559,7 @@ _mesa_IsRenderbufferEXT(GLuint renderbuf
 void GLAPIENTRY
 _mesa_BindRenderbufferEXT(GLenum target, GLuint renderbuffer)
 {
-   struct gl_renderbuffer *newRb, *oldRb;
+   struct gl_renderbuffer *newRb;
    GET_CURRENT_CONTEXT(ctx);
 
    ASSERT_OUTSIDE_BEGIN_END(ctx);
@@ -593,21 +593,16 @@ _mesa_BindRenderbufferEXT(GLenum target,
         }
          ASSERT(newRb->AllocStorage);
          _mesa_HashInsert(ctx->Shared->RenderBuffers, renderbuffer, newRb);
+         newRb->RefCount = 1; /* referenced by hash table */
       }
-      newRb->RefCount++;
    }
    else {
       newRb = NULL;
    }
 
-   oldRb = ctx->CurrentRenderbuffer;
-   if (oldRb) {
-      _mesa_unreference_renderbuffer(&oldRb);
-   }
-
    ASSERT(newRb != &DummyRenderbuffer);
 
-   ctx->CurrentRenderbuffer = newRb;
+   _mesa_reference_renderbuffer(&ctx->CurrentRenderbuffer, newRb);
 }
 
 
@@ -632,14 +627,15 @@ _mesa_DeleteRenderbuffersEXT(GLsizei n,
                _mesa_BindRenderbufferEXT(GL_RENDERBUFFER_EXT, 0);
             }
 
-           /* remove from hash table immediately, to free the ID */
+           /* Remove from hash table immediately, to free the ID.
+             * But the object will not be freed until it's no longer
+             * referenced anywhere else.
+             */
            _mesa_HashRemove(ctx->Shared->RenderBuffers, renderbuffers[i]);
 
             if (rb != &DummyRenderbuffer) {
-               /* But the object will not be freed until it's no longer
-                * bound in any context.
-                */
-               _mesa_unreference_renderbuffer(&rb);
+               /* no longer referenced by hash table */
+               _mesa_reference_renderbuffer(&rb, NULL);
            }
         }
       }
diff --git a/src/mesa/main/framebuffer.c b/src/mesa/main/framebuffer.c
index cd4f594..1fd31a5 100644
--- a/src/mesa/main/framebuffer.c
+++ b/src/mesa/main/framebuffer.c
@@ -70,42 +70,6 @@ compute_depth_max(struct gl_framebuffer
 
 
 /**
- * Set the framebuffer's _DepthBuffer field, taking care of
- * reference counts, etc.
- */
-static void
-set_depth_renderbuffer(struct gl_framebuffer *fb,
-                       struct gl_renderbuffer *rb)
-{
-   if (fb->_DepthBuffer) {
-      _mesa_unreference_renderbuffer(&fb->_DepthBuffer);
-   }
-   fb->_DepthBuffer = rb;
-   if (rb) {
-      rb->RefCount++;
-   }
-}
-
-
-/**
- * Set the framebuffer's _StencilBuffer field, taking care of
- * reference counts, etc.
- */
-static void
-set_stencil_renderbuffer(struct gl_framebuffer *fb,
-                         struct gl_renderbuffer *rb)
-{
-   if (fb->_StencilBuffer) {
-      _mesa_unreference_renderbuffer(&fb->_StencilBuffer);
-   }
-   fb->_StencilBuffer = rb;
-   if (rb) {
-      rb->RefCount++;
-   }
-}
-
-
-/**
  * Create and initialize a gl_framebuffer object.
  * This is intended for creating _window_system_ framebuffers, not generic
  * framebuffer objects ala GL_EXT_framebuffer_object.
@@ -223,7 +187,7 @@ _mesa_free_framebuffer_data(struct gl_fr
    for (i = 0; i < BUFFER_COUNT; i++) {
       struct gl_renderbuffer_attachment *att = &fb->Attachment[i];
       if (att->Renderbuffer) {
-         _mesa_unreference_renderbuffer(&att->Renderbuffer);
+         _mesa_reference_renderbuffer(&att->Renderbuffer, NULL);
       }
       if (att->Texture) {
          /* render to texture */
@@ -239,9 +203,9 @@ _mesa_free_framebuffer_data(struct gl_fr
       att->Texture = NULL;
    }
 
-   /* unbind depth/stencil to decr ref counts */
-   set_depth_renderbuffer(fb, NULL);
-   set_stencil_renderbuffer(fb, NULL);
+   /* unbind _Depth/_StencilBuffer to decr ref counts */
+   _mesa_reference_renderbuffer(&fb->_DepthBuffer, NULL);
+   _mesa_reference_renderbuffer(&fb->_StencilBuffer, NULL);
 }
 
 
@@ -569,13 +533,13 @@ _mesa_update_depth_buffer(GLcontext *ctx
          /* need to update wrapper */
          struct gl_renderbuffer *wrapper
             = _mesa_new_z24_renderbuffer_wrapper(ctx, depthRb);
-         set_depth_renderbuffer(fb, wrapper);
+         _mesa_reference_renderbuffer(&fb->_DepthBuffer, wrapper);
          ASSERT(fb->_DepthBuffer->Wrapped == depthRb);
       }
    }
    else {
       /* depthRb may be null */
-      set_depth_renderbuffer(fb, depthRb);
+      _mesa_reference_renderbuffer(&fb->_DepthBuffer, depthRb);
    }
 }
 
@@ -610,13 +574,13 @@ _mesa_update_stencil_buffer(GLcontext *c
          /* need to update wrapper */
          struct gl_renderbuffer *wrapper
             = _mesa_new_s8_renderbuffer_wrapper(ctx, stencilRb);
-         set_stencil_renderbuffer(fb, wrapper);
+         _mesa_reference_renderbuffer(&fb->_StencilBuffer, wrapper);
          ASSERT(fb->_StencilBuffer->Wrapped == stencilRb);
       }
    }
    else {
       /* stencilRb may be null */
-      set_stencil_renderbuffer(fb, stencilRb);
+      _mesa_reference_renderbuffer(&fb->_StencilBuffer, stencilRb);
    }
 }
 
diff --git a/src/mesa/main/rbadaptors.c b/src/mesa/main/rbadaptors.c
index 60f4948..c1ac060 100644
--- a/src/mesa/main/rbadaptors.c
+++ b/src/mesa/main/rbadaptors.c
@@ -45,7 +45,7 @@ Delete_wrapper(struct gl_renderbuffer *r
    /* Decrement reference count on the buffer we're wrapping and delete
     * it if refcount hits zero.
     */
-   _mesa_unreference_renderbuffer(&rb->Wrapped);
+   _mesa_reference_renderbuffer(&rb->Wrapped, NULL);
 
    /* delete myself */
    _mesa_delete_renderbuffer(rb);
diff --git a/src/mesa/main/renderbuffer.c b/src/mesa/main/renderbuffer.c
index ded0063..49706b5 100644
--- a/src/mesa/main/renderbuffer.c
+++ b/src/mesa/main/renderbuffer.c
@@ -1473,7 +1473,7 @@ _mesa_init_renderbuffer(struct gl_render
 
    rb->ClassID = 0;
    rb->Name = name;
-   rb->RefCount = 1;
+   rb->RefCount = 0;
    rb->Delete = _mesa_delete_renderbuffer;
 
    /* The rest of these should be set later by the caller of this function or
@@ -2105,9 +2105,7 @@ _mesa_add_renderbuffer(struct gl_framebu
 
    fb->Attachment[bufferName].Type = GL_RENDERBUFFER_EXT;
    fb->Attachment[bufferName].Complete = GL_TRUE;
-   fb->Attachment[bufferName].Renderbuffer = rb;
-
-   rb->RefCount++;
+   _mesa_reference_renderbuffer(&fb->Attachment[bufferName].Renderbuffer, rb);
 }
 
 
@@ -2125,38 +2123,55 @@ _mesa_remove_renderbuffer(struct gl_fram
    if (!rb)
       return;
 
-   _mesa_unreference_renderbuffer(&rb);
+   _mesa_reference_renderbuffer(&rb, NULL);
 
    fb->Attachment[bufferName].Renderbuffer = NULL;
 }
 
 
 /**
- * Decrement a renderbuffer object's reference count and delete it when
- * the refcount hits zero.
- * Note: we pass the address of a pointer.
+ * Set *ptr to point to rb.  If *ptr points to another renderbuffer,
+ * dereference that buffer first.  The new renderbuffer's refcount will
+ * be incremented.  The old renderbuffer's refcount will be decremented.
  */
 void
-_mesa_unreference_renderbuffer(struct gl_renderbuffer **rb)
+_mesa_reference_renderbuffer(struct gl_renderbuffer **ptr,
+                             struct gl_renderbuffer *rb)
 {
-   assert(rb);
-   if (*rb) {
+   assert(ptr);
+   if (*ptr == rb) {
+      /* no change */
+      return;
+   }
+
+   if (*ptr) {
+      /* Unreference the old renderbuffer */
       GLboolean deleteFlag = GL_FALSE;
+      struct gl_renderbuffer *oldRb = *ptr;
 
-      _glthread_LOCK_MUTEX((*rb)->Mutex);
-      ASSERT((*rb)->RefCount > 0);
-      (*rb)->RefCount--;
-      deleteFlag = ((*rb)->RefCount == 0);
-      _glthread_UNLOCK_MUTEX((*rb)->Mutex);
+      _glthread_LOCK_MUTEX(oldRb->Mutex);
+      ASSERT(oldRb->RefCount > 0);
+      oldRb->RefCount--;
+      /*printf("RB DECR %p to %d\n", (void*) oldRb, oldRb->RefCount);*/
+      deleteFlag = (oldRb->RefCount == 0);
+      _glthread_UNLOCK_MUTEX(oldRb->Mutex);
 
       if (deleteFlag)
-         (*rb)->Delete(*rb);
+         oldRb->Delete(oldRb);
 
-      *rb = NULL;
+      *ptr = NULL;
    }
-}
-
+   assert(!*ptr);
 
+   if (rb) {
+      /* reference new renderbuffer */
+      _glthread_LOCK_MUTEX(rb->Mutex);
+      rb->RefCount++;
+      /*printf("RB REF  %p to %d\n", (void*)rb, rb->RefCount);*/
+      _glthread_UNLOCK_MUTEX(rb->Mutex);
+      *ptr = rb;
+   }
+}
 
 
 /**
@@ -2180,4 +2195,3 @@ _mesa_new_depthstencil_renderbuffer(GLco
 
    return dsrb;
 }
-
diff --git a/src/mesa/main/renderbuffer.h b/src/mesa/main/renderbuffer.h
index e5f1147..c9bf888 100644
--- a/src/mesa/main/renderbuffer.h
+++ b/src/mesa/main/renderbuffer.h
@@ -102,7 +102,8 @@ extern void
 _mesa_remove_renderbuffer(struct gl_framebuffer *fb, GLuint bufferName);
 
 extern void
-_mesa_unreference_renderbuffer(struct gl_renderbuffer **rb);
+_mesa_reference_renderbuffer(struct gl_renderbuffer **ptr,
+                             struct gl_renderbuffer *rb);
 
 extern struct gl_renderbuffer *
 _mesa_new_depthstencil_renderbuffer(GLcontext *ctx, GLuint name);
++++++ bug-259290_trapfault.diff ++++++
# On branch refs/heads/server-1.3-branch
# Updated but not checked in:
#   (will commit)
#
#       modified:   fb/fbtrap.c
#       modified:   render/renderedge.c
#
# Changed but not updated:
#   (use git-update-index to mark for commit)
#
#       modified:   randr/randr.c
#       modified:   randr/randrstr.h
#       modified:   randr/rrxinerama.c
#
# Untracked files:
#   (use "git add" to add to commit)
#
#       GL/apple/Makefile.am
#       GL/glx/glxbyteorder.h
#       GL/mesa/vbo/
#       MakeOut
#       dix/patch
#       hw/xfree86/xf1bpp/maskbits.c
#       hw/xfree86/xf1bpp/mfbbitblt.c
#       hw/xfree86/xf1bpp/mfbbres.c
#       hw/xfree86/xf1bpp/mfbbresd.c
#       hw/xfree86/xf1bpp/mfbbstore.c
#       hw/xfree86/xf1bpp/mfbclip.c
#       hw/xfree86/xf1bpp/mfbcmap.c
#       hw/xfree86/xf1bpp/mfbfillarc.c
#       hw/xfree86/xf1bpp/mfbfillrct.c
#       hw/xfree86/xf1bpp/mfbfillsp.c
#       hw/xfree86/xf1bpp/mfbfont.c
#       hw/xfree86/xf1bpp/mfbgc.c
#       hw/xfree86/xf1bpp/mfbgetsp.c
#       hw/xfree86/xf1bpp/mfbhrzvert.c
#       hw/xfree86/xf1bpp/mfbimage.c
#       hw/xfree86/xf1bpp/mfbline.c
#       hw/xfree86/xf1bpp/mfbmisc.c
#       hw/xfree86/xf1bpp/mfbpixmap.c
#       hw/xfree86/xf1bpp/mfbpntwin.c
#       hw/xfree86/xf1bpp/mfbpolypnt.c
#       hw/xfree86/xf1bpp/mfbpushpxl.c
#       hw/xfree86/xf1bpp/mfbscrclse.c
#       hw/xfree86/xf1bpp/mfbscrinit.c
#       hw/xfree86/xf1bpp/mfbsetsp.c
#       hw/xfree86/xf1bpp/mfbwindow.c
#       hw/xfree86/xf1bpp/mfbzerarc.c
#       hw/xfree86/xorg.conf.example
#       hw/xfree86/xorg.conf.example.pre
#       hw/xwin/winprefslex.c
#       hw/xwin/winprefsyacc.c
#       hw/xwin/winprefsyacc.h
#       xorg-server-1.2.99.902.tar.bz2
#       xorg-server-1.2.99.902.tar.gz
diff --git a/fb/fbtrap.c b/fb/fbtrap.c
index 8639695..52fcfed 100644
--- a/fb/fbtrap.c
+++ b/fb/fbtrap.c
@@ -115,6 +115,9 @@ fbRasterizeTrapezoid (PicturePtr    pPicture,
     RenderEdge l, r;
     xFixed     t, b;
     
+    if (!xTrapezoidValid (trap))
+       return;
+
     fbGetDrawable (pPicture->pDrawable, buf, stride, bpp, pxoff, pyoff);
 
     width = pPicture->pDrawable->width;
diff --git a/render/renderedge.c b/render/renderedge.c
index 199ec22..c2ffabe 100644
--- a/render/renderedge.c
+++ b/render/renderedge.c
@@ -143,6 +143,7 @@ RenderEdgeInit (RenderEdge  *e,
     dx = x_bot - x_top;
     dy = y_bot - y_top;
     e->dy = dy;
+    e->dx = 0;
     if (dy)
     {
        if (dx >= 0)
++++++ Mesa-6.5.2-fix_radeon_cliprect.diff ++++++
unchanged:
--- a/src/mesa/drivers/dri/radeon/radeon_context.c
+++ b/src/mesa/drivers/dri/radeon/radeon_context.c
@@ -594,12 +594,14 @@ radeonMakeCurrent( __DRIcontextPrivate *
         driDrawableInitVBlank( driDrawPriv, newCtx->vblank_flags,
                                &newCtx->vbl_seq );
       }
-      
-      if ( (newCtx->dri.drawable != driDrawPriv)
-          || (newCtx->dri.readable != driReadPriv) ) {
+
+      newCtx->dri.readable = driReadPriv;
+
+      if ( (newCtx->dri.drawable != driDrawPriv) ||
+           newCtx->lastStamp != driDrawPriv->lastStamp ) {
         newCtx->dri.drawable = driDrawPriv;
-        newCtx->dri.readable = driReadPriv;
 
+        radeonSetCliprects(newCtx);
         radeonUpdateWindow( newCtx->glCtx );
         radeonUpdateViewportOffset( newCtx->glCtx );
       }
unchanged:
--- a/src/mesa/drivers/dri/radeon/radeon_lock.c
+++ b/src/mesa/drivers/dri/radeon/radeon_lock.c
@@ -96,7 +96,6 @@ void radeonGetLock( radeonContextPtr rme
       radeonSetCliprects( rmesa );
       radeonUpdateViewportOffset( rmesa->glCtx );
       driUpdateFramebufferSize(rmesa->glCtx, drawable);
-      rmesa->lastStamp = drawable->lastStamp;
    }
 
    RADEON_STATECHANGE( rmesa, ctx );
unchanged:
--- a/src/mesa/drivers/dri/radeon/radeon_state.c
+++ b/src/mesa/drivers/dri/radeon/radeon_state.c
@@ -1675,6 +1675,8 @@ void radeonSetCliprects( radeonContextPt
 
    if (rmesa->state.scissor.enabled)
       radeonRecalcScissorRects( rmesa );
+
+   rmesa->lastStamp = drawable->lastStamp;
 }
 
 
unchanged:
--- b/src/mesa/drivers/dri/r200/r200_context.c
+++ b/src/mesa/drivers/dri/r200/r200_context.c
@@ -673,11 +673,13 @@
                                &newCtx->vbl_seq );
       }
 
+      newCtx->dri.readable = driReadPriv;
+
       if ( newCtx->dri.drawable != driDrawPriv ||
-           newCtx->dri.readable != driReadPriv ) {
+           newCtx->lastStamp != driDrawPriv->lastStamp ) {
         newCtx->dri.drawable = driDrawPriv;
-        newCtx->dri.readable = driReadPriv;
 
+        r200SetCliprects(newCtx);
         r200UpdateWindow( newCtx->glCtx );
         r200UpdateViewportOffset( newCtx->glCtx );
       }
unchanged:
--- b/src/mesa/drivers/dri/r200/r200_lock.c
+++ b/src/mesa/drivers/dri/r200/r200_lock.c
@@ -92,13 +92,9 @@
 
    if ( rmesa->lastStamp != drawable->lastStamp ) {
       r200UpdatePageFlipping( rmesa );
-      if (rmesa->glCtx->DrawBuffer->_ColorDrawBufferMask[0] == BUFFER_BIT_BACK_LEFT)
-         r200SetCliprects( rmesa, GL_BACK_LEFT );
-      else
-         r200SetCliprects( rmesa, GL_FRONT_LEFT );
+      r200SetCliprects( rmesa );
       r200UpdateViewportOffset( rmesa->glCtx );
       driUpdateFramebufferSize(rmesa->glCtx, drawable);
-      rmesa->lastStamp = drawable->lastStamp;
    }
 
    R200_STATECHANGE( rmesa, ctx );
unchanged:
--- b/src/mesa/drivers/dri/r200/r200_state.c
+++ b/src/mesa/drivers/dri/r200/r200_state.c
@@ -1691,6 +1691,11 @@
 #define SUBPIXEL_X 0.125
 #define SUBPIXEL_Y 0.125
 
+
+/**
+ * Called when window size or position changes or viewport or depth range
+ * state is changed.  We update the hardware viewport state here.
+ */
 void r200UpdateWindow( GLcontext *ctx )
 {
    r200ContextPtr rmesa = R200_CONTEXT(ctx);
@@ -1843,19 +1848,18 @@
 }
 
 
-void r200SetCliprects( r200ContextPtr rmesa, GLenum mode )
+/*
+ * Set up the cliprects for either front or back-buffer drawing.
+ */
+void r200SetCliprects( r200ContextPtr rmesa )
 {
    __DRIdrawablePrivate *const drawable = rmesa->dri.drawable;
    __DRIdrawablePrivate *const readable = rmesa->dri.readable;
    GLframebuffer *const draw_fb = (GLframebuffer*) drawable->driverPrivate;
    GLframebuffer *const read_fb = (GLframebuffer*) readable->driverPrivate;
 
-   switch ( mode ) {
-   case GL_FRONT_LEFT:
-      rmesa->numClipRects = drawable->numClipRects;
-      rmesa->pClipRects = drawable->pClipRects;
-      break;
-   case GL_BACK_LEFT:
+   if (draw_fb->_ColorDrawBufferMask[0]
+       == BUFFER_BIT_BACK_LEFT) {
       /* Can't ignore 2d windows if we are page flipping.
        */
       if ( drawable->numBackClipRects == 0 || rmesa->doPageFlip ) {
@@ -1866,11 +1870,12 @@
          rmesa->numClipRects = drawable->numBackClipRects;
          rmesa->pClipRects = drawable->pBackClipRects;
       }
-      break;
-   default:
-      fprintf(stderr, "bad mode in r200SetCliprects\n");
-      return;
    }
+   else {
+     /* front buffer (or none, or multiple buffers) */
+     rmesa->numClipRects = drawable->numClipRects;
+     rmesa->pClipRects = drawable->pClipRects;
+  }
 
    if ((draw_fb->Width != drawable->w) || (draw_fb->Height != drawable->h)) {
       _mesa_resize_framebuffer(rmesa->glCtx, draw_fb,
@@ -1889,6 +1894,8 @@
 
    if (rmesa->state.scissor.enabled)
       r200RecalcScissorRects( rmesa );
+
+   rmesa->lastStamp = drawable->lastStamp;
 }
 
 
@@ -1908,19 +1915,17 @@
     */
    switch ( ctx->DrawBuffer->_ColorDrawBufferMask[0] ) {
    case BUFFER_BIT_FRONT_LEFT:
-      FALLBACK( rmesa, R200_FALLBACK_DRAW_BUFFER, GL_FALSE );
-      r200SetCliprects( rmesa, GL_FRONT_LEFT );
-      break;
    case BUFFER_BIT_BACK_LEFT:
       FALLBACK( rmesa, R200_FALLBACK_DRAW_BUFFER, GL_FALSE );
-      r200SetCliprects( rmesa, GL_BACK_LEFT );
       break;
    default:
-      /* GL_NONE or GL_FRONT_AND_BACK or stereo left&right, etc */
+      /* 0 (GL_NONE) buffers or multiple color drawing buffers */
       FALLBACK( rmesa, R200_FALLBACK_DRAW_BUFFER, GL_TRUE );
       return;
    }
 
+   r200SetCliprects( rmesa );
+
    /* We'll set the drawing engine's offset/pitch parameters later
     * when we update other state.
     */
unchanged:
--- a/src/mesa/drivers/dri/r200/r200_state.h
+++ b/src/mesa/drivers/dri/r200/r200_state.h
@@ -44,7 +44,7 @@ extern void r200InitTnlFuncs( GLcontext
 
 extern void r200UpdateMaterial( GLcontext *ctx );
 
-extern void r200SetCliprects( r200ContextPtr rmesa, GLenum mode );
+extern void r200SetCliprects( r200ContextPtr rmesa );
 extern void r200RecalcScissorRects( r200ContextPtr rmesa );
 extern void r200UpdateViewportOffset( GLcontext *ctx );
 extern void r200UpdateWindow( GLcontext *ctx );
only in patch2:
unchanged:
--- b/src/mesa/drivers/dri/r300/radeon_context.c
+++ b/src/mesa/drivers/dri/r300/radeon_context.c
@@ -51,6 +51,7 @@
 #include "radeon_macros.h"
 #include "radeon_reg.h"
 
+#include "radeon_state.h"
 #include "r300_state.h"
 
 #include "utils.h"
@@ -272,11 +273,13 @@
                                              &radeon->vbl_seq);
                }
 
+               radeon->dri.readable = driReadPriv;
+
                if (radeon->dri.drawable != driDrawPriv ||
-                   radeon->dri.readable != driReadPriv) {
+                   radeon->lastStamp != driDrawPriv->lastStamp) {
                        radeon->dri.drawable = driDrawPriv;
-                       radeon->dri.readable = driReadPriv;
 
+                       radeonSetCliprects(radeon);
                        r300UpdateWindow(radeon->glCtx);
                        r300UpdateViewportOffset(radeon->glCtx);
                }
only in patch2:
unchanged:
--- a/src/mesa/drivers/dri/r300/radeon_lock.c
+++ b/src/mesa/drivers/dri/r300/radeon_lock.c
@@ -90,7 +90,6 @@ static void r300RegainedLock(radeonConte
 #else
                radeonUpdateScissor(radeon->glCtx);
 #endif
-               radeon->lastStamp = drawable->lastStamp;
        }
 
        if (sarea->ctx_owner != radeon->dri.hwContext) {
only in patch2:
unchanged:
--- a/src/mesa/drivers/dri/r300/radeon_state.c
+++ b/src/mesa/drivers/dri/r300/radeon_state.c
@@ -185,6 +185,8 @@ void radeonSetCliprects(radeonContextPtr
 
        if (radeon->state.scissor.enabled)
                radeonRecalcScissorRects(radeon);
+
+       radeon->lastStamp = drawable->lastStamp;
 }
 
 


++++++ xorg-server-1.2.99.903.tar.bz2 -> xorg-server-1.2.99.905.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/aclocal.m4 new/xorg-server-1.2.99.905/aclocal.m4
--- old/xorg-server-1.2.99.903/aclocal.m4       2007-03-27 05:47:28.000000000 +0200
+++ new/xorg-server-1.2.99.905/aclocal.m4       2007-04-06 08:35:27.000000000 +0200
@@ -6538,6 +6538,121 @@
 fi[]dnl
 ])# PKG_CHECK_MODULES
 
+dnl $XdotOrg: lib/xtrans/xtrans.m4,v 1.6 2005/07/26 18:59:11 alanc Exp $
+dnl
+dnl Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+dnl 
+dnl Permission to use, copy, modify, distribute, and sell this software and its
+dnl documentation for any purpose is hereby granted without fee, provided that
+dnl the above copyright notice appear in all copies and that both that
+dnl copyright notice and this permission notice appear in supporting
+dnl documentation.
+dnl 
+dnl The above copyright notice and this permission notice shall be included
+dnl in all copies or substantial portions of the Software.
+dnl 
+dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+dnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+dnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+dnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+dnl OTHER DEALINGS IN THE SOFTWARE.
+dnl 
+dnl Except as contained in this notice, the name of the copyright holders shall
+dnl not be used in advertising or otherwise to promote the sale, use or
+dnl other dealings in this Software without prior written authorization
+dnl from the copyright holders.
+dnl 
+
+# XTRANS_TCP_FLAGS()
+# ------------------
+# Find needed libraries for TCP sockets, and check for IPv6 support
+AC_DEFUN([XTRANS_TCP_FLAGS],[
+ # SVR4 hides these in libraries other than libc
+ AC_SEARCH_LIBS(socket, [socket])
+ AC_SEARCH_LIBS(gethostbyname, [nsl])
+
+ # Needs to come after above checks for libsocket & libnsl for SVR4 systems
+ AC_ARG_ENABLE(ipv6, 
+       AC_HELP_STRING([--enable-IPv6],[Enable IPv6 support]),
+       [IPV6CONN=$enableval], 
+       [AC_CHECK_FUNC(getaddrinfo,[IPV6CONN=yes],[IPV6CONN=no])])
+ AC_MSG_CHECKING([if IPv6 support should be built])
+ if test "$IPV6CONN" = "yes"; then
+       AC_DEFINE(IPv6,1,[Support IPv6 for TCP connections])
+ fi
+ AC_MSG_RESULT($IPV6CONN)
+
+ # 4.3BSD-Reno added a new member to struct sockaddr_in
+ AC_CHECK_MEMBER([struct sockaddr_in.sin_len], 
+       AC_DEFINE([BSD44SOCKETS],1,
+           [Define to 1 if `struct sockaddr_in' has a `sin_len' member]), [], [
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+ ])
+]) # XTRANS_TCP_FLAGS
+
+# XTRANS_CONNECTION_FLAGS()
+# -------------------------
+# Standard checks for which Xtrans transports to use by the Xorg packages
+# that use Xtrans functions
+AC_DEFUN([XTRANS_CONNECTION_FLAGS],
+[AC_REQUIRE([AC_TYPE_SIGNAL])
+ AC_ARG_ENABLE(unix-transport,
+       AC_HELP_STRING([--enable-unix-transport],[Enable UNIX domain socket transport]),
+       [UNIXCONN=$enableval], [UNIXCONN=yes])
+ AC_ARG_ENABLE(tcp-transport, 
+       AC_HELP_STRING([--enable-tcp-transport],[Enable TCP socket transport]),
+       [TCPCONN=$enableval], [TCPCONN=yes])
+ AC_MSG_CHECKING([if Xtrans should support UNIX socket connections])
+ if test "$UNIXCONN" = "yes"; then
+       AC_DEFINE(UNIXCONN,1,[Support UNIX socket connections])
+ fi
+ AC_MSG_RESULT($UNIXCONN)
+ AC_MSG_CHECKING([if Xtrans should support TCP socket connections])
+ AC_MSG_RESULT($TCPCONN)
+ if test "$TCPCONN" = "yes"; then
+       AC_DEFINE(TCPCONN,1,[Support TCP socket connections])
+       XTRANS_TCP_FLAGS
+ fi
+]) # XTRANS_CONNECTION_FLAGS
+
+
+# XTRANS_SECURE_RPC_FLAGS()
+# -------------------------
+# Check for Secure RPC functions - must come after XTRANS_TCP_FLAGS
+# so that any necessary networking libraries are already found
+AC_DEFUN([XTRANS_SECURE_RPC_FLAGS],
+[AC_REQUIRE([XTRANS_TCP_FLAGS])
+ AC_ARG_ENABLE(secure-rpc, 
+       AC_HELP_STRING([--enable-secure-rpc],[Enable Secure RPC]),
+        [SECURE_RPC=$enableval], [SECURE_RPC="try"])
+
+ if test "x$SECURE_RPC" = "xyes" -o "x$SECURE_RPC" = "xtry" ; then
+       FOUND_SECURE_RPC="no"
+       AC_CHECK_FUNCS([authdes_seccreate authdes_create],
+                       [FOUND_SECURE_RPC="yes"])
+       if test "x$FOUND_SECURE_RPC" = "xno" ; then
+               if test "x$SECURE_RPC" = "xyes" ; then
+       AC_MSG_ERROR([Secure RPC requested, but required functions not found])
+               fi      
+               SECURE_RPC="no"
+       else
+               dnl FreeBSD keeps getsecretkey in librpcsvc
+               AC_SEARCH_LIBS(getsecretkey, [rpcsvc])
+               SECURE_RPC="yes"
+       fi
+ fi
+ AC_MSG_CHECKING([if Secure RPC authentication ("SUN-DES-1") should be supported])
+ if test "x$SECURE_RPC" = "xyes" ; then
+       AC_DEFINE(SECURE_RPC, 1, [Support Secure RPC ("SUN-DES-1") authentication for X11 clients])
+ fi
+ AC_MSG_RESULT($SECURE_RPC)
+]) # XTRANS_SECURE_RPC_FLAGS
+
+
 # Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
@@ -7425,7 +7540,7 @@
 AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
 
-dnl $Id: xorg-macros.m4,v 1.7 2005/12/09 03:01:09 kem Exp $
+dnl $Id$
 dnl
 dnl Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
 dnl 
@@ -7506,40 +7621,40 @@
 
 if test x$APP_MAN_SUFFIX = x    ; then
     case $host_os in
-       linux*) APP_MAN_SUFFIX=1x ;;
+       linux* | k*bsd*-gnu)    APP_MAN_SUFFIX=1x ;;
        *)      APP_MAN_SUFFIX=1  ;;
     esac
 fi
 if test x$APP_MAN_DIR = x    ; then
     case $host_os in
-       linux*) APP_MAN_DIR='$(mandir)/man1' ;;
+       linux* | k*bsd*-gnu)    APP_MAN_DIR='$(mandir)/man1' ;;
        *)      APP_MAN_DIR='$(mandir)/man$(APP_MAN_SUFFIX)' ;;
     esac
 fi
 
 if test x$LIB_MAN_SUFFIX = x    ; then
     case $host_os in
-       linux*) LIB_MAN_SUFFIX=3x ;;
+       linux* | k*bsd*-gnu)    LIB_MAN_SUFFIX=3x ;;
        *)      LIB_MAN_SUFFIX=3  ;;
     esac
 fi
 if test x$LIB_MAN_DIR = x    ; then
     case $host_os in
-       linux*) LIB_MAN_DIR='$(mandir)/man3' ;;
+       linux* | k*bsd*-gnu)    LIB_MAN_DIR='$(mandir)/man3' ;;
        *)      LIB_MAN_DIR='$(mandir)/man$(LIB_MAN_SUFFIX)' ;;
     esac
 fi
 
 if test x$FILE_MAN_SUFFIX = x    ; then
     case $host_os in
-       linux*)         FILE_MAN_SUFFIX=5x ;;
+       linux* | k*bsd*-gnu)            FILE_MAN_SUFFIX=5x ;;
        solaris*)       FILE_MAN_SUFFIX=4  ;;
        *)              FILE_MAN_SUFFIX=5  ;;
     esac
 fi
 if test x$FILE_MAN_DIR = x    ; then
     case $host_os in
-       linux*) FILE_MAN_DIR='$(mandir)/man5' ;;
+       linux* | k*bsd*-gnu)    FILE_MAN_DIR='$(mandir)/man5' ;;
        *)      FILE_MAN_DIR='$(mandir)/man$(FILE_MAN_SUFFIX)' ;;
     esac
 fi
@@ -7548,14 +7663,14 @@
 # LinuxDebian, not other Linuxes, so we leave it unchanged here
 if test x$MISC_MAN_SUFFIX = x    ; then
     case $host_os in
-#      linux*)         MISC_MAN_SUFFIX=7x ;;
+#      linux* | k*bsd*-gnu)            MISC_MAN_SUFFIX=7x ;;
        solaris*)       MISC_MAN_SUFFIX=5  ;;
        *)              MISC_MAN_SUFFIX=7  ;;
     esac
 fi
 if test x$MISC_MAN_DIR = x    ; then
     case $host_os in
-#      linux*) MISC_MAN_DIR='$(mandir)/man7' ;;
+#      linux* | k*bsd*-gnu)    MISC_MAN_DIR='$(mandir)/man7' ;;
        *)      MISC_MAN_DIR='$(mandir)/man$(MISC_MAN_SUFFIX)' ;;
     esac
 fi
@@ -7564,14 +7679,14 @@
 # LinuxDebian, not other Linuxes, so we leave it unchanged here
 if test x$DRIVER_MAN_SUFFIX = x    ; then
     case $host_os in
-#      linux*)         DRIVER_MAN_SUFFIX=4x ;;
+#      linux* | k*bsd*-gnu)            DRIVER_MAN_SUFFIX=4x ;;
        solaris*)       DRIVER_MAN_SUFFIX=7  ;;
        *)              DRIVER_MAN_SUFFIX=4  ;;
     esac
 fi
 if test x$DRIVER_MAN_DIR = x    ; then
     case $host_os in
-#      linux*) DRIVER_MAN_DIR='$(mandir)/man4' ;;
+#      linux* | k*bsd*-gnu)    DRIVER_MAN_DIR='$(mandir)/man4' ;;
        *)      DRIVER_MAN_DIR='$(mandir)/man$(DRIVER_MAN_SUFFIX)' ;;
     esac
 fi
@@ -7742,119 +7857,4 @@
        fi
 ])
 
-dnl $XdotOrg: lib/xtrans/xtrans.m4,v 1.8 2005/08/17 19:10:49 anholt Exp $
-dnl
-dnl Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
-dnl 
-dnl Permission to use, copy, modify, distribute, and sell this software and its
-dnl documentation for any purpose is hereby granted without fee, provided that
-dnl the above copyright notice appear in all copies and that both that
-dnl copyright notice and this permission notice appear in supporting
-dnl documentation.
-dnl 
-dnl The above copyright notice and this permission notice shall be included
-dnl in all copies or substantial portions of the Software.
-dnl 
-dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-dnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
-dnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-dnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-dnl OTHER DEALINGS IN THE SOFTWARE.
-dnl 
-dnl Except as contained in this notice, the name of the copyright holders shall
-dnl not be used in advertising or otherwise to promote the sale, use or
-dnl other dealings in this Software without prior written authorization
-dnl from the copyright holders.
-dnl 
-
-# XTRANS_TCP_FLAGS()
-# ------------------
-# Find needed libraries for TCP sockets, and check for IPv6 support
-AC_DEFUN([XTRANS_TCP_FLAGS],[
- # SVR4 hides these in libraries other than libc
- AC_SEARCH_LIBS(socket, [socket])
- AC_SEARCH_LIBS(gethostbyname, [nsl])
-
- # Needs to come after above checks for libsocket & libnsl for SVR4 systems
- AC_ARG_ENABLE(ipv6, 
-       AC_HELP_STRING([--enable-IPv6],[Enable IPv6 support]),
-       [IPV6CONN=$enableval], 
-       [AC_CHECK_FUNC(getaddrinfo,[IPV6CONN=yes],[IPV6CONN=no])])
- AC_MSG_CHECKING([if IPv6 support should be built])
- if test "$IPV6CONN" = "yes"; then
-       AC_DEFINE(IPv6,1,[Support IPv6 for TCP connections])
- fi
- AC_MSG_RESULT($IPV6CONN)
-
- # 4.3BSD-Reno added a new member to struct sockaddr_in
- AC_CHECK_MEMBER([struct sockaddr_in.sin_len], 
-       AC_DEFINE([BSD44SOCKETS],1,
-           [Define to 1 if `struct sockaddr_in' has a `sin_len' member]), [], [
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
- ])
-]) # XTRANS_TCP_FLAGS
-
-# XTRANS_CONNECTION_FLAGS()
-# -------------------------
-# Standard checks for which Xtrans transports to use by the Xorg packages
-# that use Xtrans functions
-AC_DEFUN([XTRANS_CONNECTION_FLAGS],
-[AC_REQUIRE([AC_TYPE_SIGNAL])
- AC_ARG_ENABLE(unix-transport,
-       AC_HELP_STRING([--enable-unix-transport],[Enable UNIX domain socket transport]),
-       [UNIXCONN=$enableval], [UNIXCONN=yes])
- AC_ARG_ENABLE(tcp-transport, 
-       AC_HELP_STRING([--enable-tcp-transport],[Enable TCP socket transport]),
-       [TCPCONN=$enableval], [TCPCONN=yes])
- AC_MSG_CHECKING([if Xtrans should support UNIX socket connections])
- if test "$UNIXCONN" = "yes"; then
-       AC_DEFINE(UNIXCONN,1,[Support UNIX socket connections])
- fi
- AC_MSG_RESULT($UNIXCONN)
- AC_MSG_CHECKING([if Xtrans should support TCP socket connections])
- AC_MSG_RESULT($TCPCONN)
- if test "$TCPCONN" = "yes"; then
-       AC_DEFINE(TCPCONN,1,[Support TCP socket connections])
-       XTRANS_TCP_FLAGS
- fi
-]) # XTRANS_CONNECTION_FLAGS
-
-
-# XTRANS_SECURE_RPC_FLAGS()
-# -------------------------
-# Check for Secure RPC functions - must come after XTRANS_TCP_FLAGS
-# so that any necessary networking libraries are already found
-AC_DEFUN([XTRANS_SECURE_RPC_FLAGS],
-[AC_REQUIRE([XTRANS_TCP_FLAGS])
- AC_ARG_ENABLE(secure-rpc, 
-       AC_HELP_STRING([--enable-secure-rpc],[Enable Secure RPC]),
-        [SECURE_RPC=$enableval], [SECURE_RPC="try"])
-
- if test "x$SECURE_RPC" = "xyes" -o "x$SECURE_RPC" = "xtry" ; then
-       FOUND_SECURE_RPC="no"
-       AC_CHECK_FUNCS([authdes_seccreate authdes_create],
-                       [FOUND_SECURE_RPC="yes"])
-       if test "x$FOUND_SECURE_RPC" = "xno" ; then
-               if test "x$SECURE_RPC" = "xyes" ; then
-       AC_MSG_ERROR([Secure RPC requested, but required functions not found])
-               fi      
-               SECURE_RPC="no"
-       else
-               dnl FreeBSD keeps getsecretkey in librpcsvc
-               AC_SEARCH_LIBS(getsecretkey, [rpcsvc])
-               SECURE_RPC="yes"
-       fi
- fi
- AC_MSG_CHECKING([if Secure RPC authentication ("SUN-DES-1") should be supported])
- if test "x$SECURE_RPC" = "xyes" ; then
-       AC_DEFINE(SECURE_RPC, 1, [Support Secure RPC ("SUN-DES-1") authentication for X11 clients])
- fi
- AC_MSG_RESULT($SECURE_RPC)
-]) # XTRANS_SECURE_RPC_FLAGS
-
-
 m4_include([acinclude.m4])
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/configure new/xorg-server-1.2.99.905/configure
--- old/xorg-server-1.2.99.903/configure        2007-03-27 05:48:43.000000000 +0200
+++ new/xorg-server-1.2.99.905/configure        2007-04-06 08:35:33.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for xorg-server 1.2.99.903.
+# Generated by GNU Autoconf 2.61 for xorg-server 1.2.99.905.
 #
 # Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
 #
@@ -728,8 +728,8 @@
 # Identity of this package.
 PACKAGE_NAME='xorg-server'
 PACKAGE_TARNAME='xorg-server'
-PACKAGE_VERSION='1.2.99.903'
-PACKAGE_STRING='xorg-server 1.2.99.903'
+PACKAGE_VERSION='1.2.99.905'
+PACKAGE_STRING='xorg-server 1.2.99.905'
 PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
 
 ac_unique_file="Makefile.am"
@@ -1803,7 +1803,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures xorg-server 1.2.99.903 to adapt to many kinds of systems.
+\`configure' configures xorg-server 1.2.99.905 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1873,7 +1873,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of xorg-server 1.2.99.903:";;
+     short | recursive ) echo "Configuration of xorg-server 1.2.99.905:";;
    esac
   cat <<\_ACEOF
 
@@ -2183,7 +2183,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-xorg-server configure 1.2.99.903
+xorg-server configure 1.2.99.905
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -2197,7 +2197,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by xorg-server $as_me 1.2.99.903, which was
+It was created by xorg-server $as_me 1.2.99.905, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -2868,7 +2868,7 @@
 
 # Define the identity of the package.
  PACKAGE='xorg-server'
- VERSION='1.2.99.903'
+ VERSION='1.2.99.905'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3045,8 +3045,8 @@
 DEFAULT_VERSION_MAJOR=1
 DEFAULT_VERSION_MINOR=2
 DEFAULT_VERSION_PATCH=99
-DEFAULT_VERSION_SNAP=903
-DEFAULT_RELEASE_DATE="26 March 2007"
+DEFAULT_VERSION_SNAP=905
+DEFAULT_RELEASE_DATE="05 April 2007"
 DEFAULT_VENDOR_WEB="http://wiki.x.org";
 
 ac_config_headers="$ac_config_headers include/do-not-use-config.h"
@@ -33888,40 +33888,40 @@
 
 if test x$APP_MAN_SUFFIX = x    ; then
     case $host_os in
-       linux*) APP_MAN_SUFFIX=1x ;;
+       linux* | k*bsd*-gnu)    APP_MAN_SUFFIX=1x ;;
        *)      APP_MAN_SUFFIX=1  ;;
     esac
 fi
 if test x$APP_MAN_DIR = x    ; then
     case $host_os in
-       linux*) APP_MAN_DIR='$(mandir)/man1' ;;
+       linux* | k*bsd*-gnu)    APP_MAN_DIR='$(mandir)/man1' ;;
        *)      APP_MAN_DIR='$(mandir)/man$(APP_MAN_SUFFIX)' ;;
     esac
 fi
 
 if test x$LIB_MAN_SUFFIX = x    ; then
     case $host_os in
-       linux*) LIB_MAN_SUFFIX=3x ;;
+       linux* | k*bsd*-gnu)    LIB_MAN_SUFFIX=3x ;;
        *)      LIB_MAN_SUFFIX=3  ;;
     esac
 fi
 if test x$LIB_MAN_DIR = x    ; then
     case $host_os in
-       linux*) LIB_MAN_DIR='$(mandir)/man3' ;;
+       linux* | k*bsd*-gnu)    LIB_MAN_DIR='$(mandir)/man3' ;;
        *)      LIB_MAN_DIR='$(mandir)/man$(LIB_MAN_SUFFIX)' ;;
     esac
 fi
 
 if test x$FILE_MAN_SUFFIX = x    ; then
     case $host_os in
-       linux*)         FILE_MAN_SUFFIX=5x ;;
+       linux* | k*bsd*-gnu)            FILE_MAN_SUFFIX=5x ;;
        solaris*)       FILE_MAN_SUFFIX=4  ;;
        *)              FILE_MAN_SUFFIX=5  ;;
     esac
 fi
 if test x$FILE_MAN_DIR = x    ; then
     case $host_os in
-       linux*) FILE_MAN_DIR='$(mandir)/man5' ;;
+       linux* | k*bsd*-gnu)    FILE_MAN_DIR='$(mandir)/man5' ;;
        *)      FILE_MAN_DIR='$(mandir)/man$(FILE_MAN_SUFFIX)' ;;
     esac
 fi
@@ -33930,14 +33930,14 @@
 # LinuxDebian, not other Linuxes, so we leave it unchanged here
 if test x$MISC_MAN_SUFFIX = x    ; then
     case $host_os in
-#      linux*)         MISC_MAN_SUFFIX=7x ;;
+#      linux* | k*bsd*-gnu)            MISC_MAN_SUFFIX=7x ;;
        solaris*)       MISC_MAN_SUFFIX=5  ;;
        *)              MISC_MAN_SUFFIX=7  ;;
     esac
 fi
 if test x$MISC_MAN_DIR = x    ; then
     case $host_os in
-#      linux*) MISC_MAN_DIR='$(mandir)/man7' ;;
+#      linux* | k*bsd*-gnu)    MISC_MAN_DIR='$(mandir)/man7' ;;
        *)      MISC_MAN_DIR='$(mandir)/man$(MISC_MAN_SUFFIX)' ;;
     esac
 fi
@@ -33946,14 +33946,14 @@
 # LinuxDebian, not other Linuxes, so we leave it unchanged here
 if test x$DRIVER_MAN_SUFFIX = x    ; then
     case $host_os in
-#      linux*)         DRIVER_MAN_SUFFIX=4x ;;
+#      linux* | k*bsd*-gnu)            DRIVER_MAN_SUFFIX=4x ;;
        solaris*)       DRIVER_MAN_SUFFIX=7  ;;
        *)              DRIVER_MAN_SUFFIX=4  ;;
     esac
 fi
 if test x$DRIVER_MAN_DIR = x    ; then
     case $host_os in
-#      linux*) DRIVER_MAN_DIR='$(mandir)/man4' ;;
+#      linux* | k*bsd*-gnu)    DRIVER_MAN_DIR='$(mandir)/man4' ;;
        *)      DRIVER_MAN_DIR='$(mandir)/man$(DRIVER_MAN_SUFFIX)' ;;
     esac
 fi
@@ -35134,7 +35134,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by xorg-server $as_me 1.2.99.903, which was
+This file was extended by xorg-server $as_me 1.2.99.905, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -35187,7 +35187,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-xorg-server config.status 1.2.99.903
+xorg-server config.status 1.2.99.905
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/configure.ac new/xorg-server-1.2.99.905/configure.ac
--- old/xorg-server-1.2.99.903/configure.ac     2007-03-27 05:46:57.000000000 +0200
+++ new/xorg-server-1.2.99.905/configure.ac     2007-04-06 08:35:16.000000000 +0200
@@ -25,7 +25,7 @@
 AC_PREREQ(2.57)
 dnl This is the not the Xorg version number, it's the server version number.
 dnl Yes, that's weird.
-AC_INIT([xorg-server], 1.2.99.903, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+AC_INIT([xorg-server], 1.2.99.905, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_INIT_AUTOMAKE([dist-bzip2 foreign])
 AM_MAINTAINER_MODE
@@ -40,8 +40,8 @@
 DEFAULT_VERSION_MAJOR=1
 DEFAULT_VERSION_MINOR=2
 DEFAULT_VERSION_PATCH=99
-DEFAULT_VERSION_SNAP=903
-DEFAULT_RELEASE_DATE="26 March 2007"
+DEFAULT_VERSION_SNAP=905
+DEFAULT_RELEASE_DATE="05 April 2007"
 DEFAULT_VENDOR_WEB="http://wiki.x.org";
 
 dnl this gets generated by autoheader, and thus contains all the defines.  we
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/hw/xfree86/common/xf86Build.h new/xorg-server-1.2.99.905/hw/xfree86/common/xf86Build.h
--- old/xorg-server-1.2.99.903/hw/xfree86/common/xf86Build.h    2007-03-27 05:49:25.000000000 +0200
+++ new/xorg-server-1.2.99.905/hw/xfree86/common/xf86Build.h    2007-04-06 08:36:20.000000000 +0200
@@ -1 +1 @@
-#define BUILD_DATE 20070326
+#define BUILD_DATE 20070405
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/hw/xfree86/modes/xf86Crtc.c new/xorg-server-1.2.99.905/hw/xfree86/modes/xf86Crtc.c
--- old/xorg-server-1.2.99.903/hw/xfree86/modes/xf86Crtc.c      2007-03-23 23:15:29.000000000 +0100
+++ new/xorg-server-1.2.99.905/hw/xfree86/modes/xf86Crtc.c      2007-04-06 06:32:48.000000000 +0200
@@ -589,7 +589,6 @@
     {
        xf86OutputPtr   output = config->output[o];
 
-       output->crtc = NULL;
        output->randr_output = NULL;
     }
     for (c = 0; c < config->num_crtc; c++)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbbltC.c new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbbltC.c
--- old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbbltC.c      2006-06-10 07:25:27.000000000 +0200
+++ new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbbltC.c      2007-02-16 10:12:40.000000000 +0100
@@ -1,2 +1,3 @@
 #define MROP Mcopy
+#include "mfbmap.h"
 #include "../../../mfb/mfbblt.c"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbbltCI.c new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbbltCI.c
--- old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbbltCI.c     2006-06-10 07:25:27.000000000 +0200
+++ new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbbltCI.c     2007-02-16 10:12:40.000000000 +0100
@@ -1,2 +1,3 @@
 #define MROP McopyInverted
+#include "mfbmap.h"
 #include "../../../mfb/mfbblt.c"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbbltG.c new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbbltG.c
--- old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbbltG.c      2006-06-10 07:25:27.000000000 +0200
+++ new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbbltG.c      2007-02-16 10:12:40.000000000 +0100
@@ -1,2 +1,3 @@
 #define MROP M0
+#include "mfbmap.h"
 #include "../../../mfb/mfbblt.c"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbbltO.c new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbbltO.c
--- old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbbltO.c      2006-06-10 07:25:27.000000000 +0200
+++ new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbbltO.c      2007-02-16 10:12:40.000000000 +0100
@@ -1,2 +1,3 @@
 #define MROP Mor
+#include "mfbmap.h"
 #include "../../../mfb/mfbblt.c"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbbltX.c new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbbltX.c
--- old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbbltX.c      2006-06-10 07:25:27.000000000 +0200
+++ new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbbltX.c      2007-02-16 10:12:40.000000000 +0100
@@ -1,2 +1,3 @@
 #define MROP Mxor
+#include "mfbmap.h"
 #include "../../../mfb/mfbblt.c"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbigbblak.c new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbigbblak.c
--- old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbigbblak.c   2006-06-10 07:25:27.000000000 +0200
+++ new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbigbblak.c   2007-02-16 10:12:40.000000000 +0100
@@ -1,3 +1,4 @@
 #define MFBIMAGEGLYPHBLT xf1bppImageGlyphBltBlack
 #define OPEQ &=~
+#include "mfbmap.h"
 #include "../../../mfb/mfbimggblt.c"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbigbwht.c new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbigbwht.c
--- old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbigbwht.c    2006-06-10 07:25:27.000000000 +0200
+++ new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbigbwht.c    2007-02-16 10:12:40.000000000 +0100
@@ -1,3 +1,4 @@
 #define MFBIMAGEGLYPHBLT xf1bppImageGlyphBltWhite
 #define OPEQ |=
+#include "mfbmap.h"
 #include "../../../mfb/mfbimggblt.c"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbpablack.c new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbpablack.c
--- old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbpablack.c   2006-06-10 07:25:27.000000000 +0200
+++ new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbpablack.c   2007-02-16 10:12:40.000000000 +0100
@@ -2,4 +2,5 @@
 #define MFBSTIPPLEFILLAREA xf1bppStippleBlackArea
 #define OPEQ &=~
 #define EQWHOLEWORD =0
+#include "mfbmap.h"
 #include "../../../mfb/mfbpntarea.c"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbpainv.c new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbpainv.c
--- old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbpainv.c     2006-06-10 07:25:27.000000000 +0200
+++ new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbpainv.c     2007-02-16 10:12:40.000000000 +0100
@@ -2,4 +2,5 @@
 #define MFBSTIPPLEFILLAREA xf1bppStippleInvertArea
 #define OPEQ ^=
 #define EQWHOLEWORD ^=~0
+#include "mfbmap.h"
 #include "../../../mfb/mfbpntarea.c"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbpawhite.c new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbpawhite.c
--- old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbpawhite.c   2006-06-10 07:25:27.000000000 +0200
+++ new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbpawhite.c   2007-02-16 10:12:40.000000000 +0100
@@ -2,4 +2,5 @@
 #define MFBSTIPPLEFILLAREA xf1bppStippleWhiteArea
 #define OPEQ |=
 #define EQWHOLEWORD =~0
+#include "mfbmap.h"
 #include "../../../mfb/mfbpntarea.c"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbpgbblak.c new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbpgbblak.c
--- old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbpgbblak.c   2006-06-10 07:25:27.000000000 +0200
+++ new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbpgbblak.c   2007-02-16 10:12:40.000000000 +0100
@@ -1,3 +1,4 @@
 #define MFBPOLYGLYPHBLT xf1bppPolyGlyphBltBlack
 #define OPEQ &=~
+#include "mfbmap.h"
 #include "../../../mfb/mfbplygblt.c"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbpgbinv.c new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbpgbinv.c
--- old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbpgbinv.c    2006-06-10 07:25:27.000000000 +0200
+++ new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbpgbinv.c    2007-02-16 10:12:40.000000000 +0100
@@ -1,3 +1,4 @@
 #define MFBPOLYGLYPHBLT xf1bppPolyGlyphBltInvert
 #define OPEQ ^=
+#include "mfbmap.h"
 #include "../../../mfb/mfbplygblt.c"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbpgbwht.c new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbpgbwht.c
--- old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbpgbwht.c    2006-06-10 07:25:27.000000000 +0200
+++ new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbpgbwht.c    2007-02-16 10:12:40.000000000 +0100
@@ -1,3 +1,4 @@
 #define MFBPOLYGLYPHBLT xf1bppPolyGlyphBltWhite
 #define OPEQ |=
+#include "mfbmap.h"
 #include "../../../mfb/mfbplygblt.c"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbplyblack.c new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbplyblack.c
--- old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbplyblack.c  2006-06-10 07:25:27.000000000 +0200
+++ new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbplyblack.c  2007-02-16 10:12:40.000000000 +0100
@@ -1,4 +1,5 @@
 #define MFBFILLPOLY1RECT xf1bppFillPolyBlack
 #define OPEQ &=~
 #define EQWHOLEWORD =0
+#include "mfbmap.h"
 #include "../../../mfb/mfbply1rct.c"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbplyinv.c new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbplyinv.c
--- old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbplyinv.c    2006-06-10 07:25:27.000000000 +0200
+++ new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbplyinv.c    2007-02-16 10:12:40.000000000 +0100
@@ -1,4 +1,5 @@
 #define MFBFILLPOLY1RECT xf1bppFillPolyInvert
 #define OPEQ ^=
 #define EQWHOLEWORD ^=~0
+#include "mfbmap.h"
 #include "../../../mfb/mfbply1rct.c"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbplywhite.c new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbplywhite.c
--- old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbplywhite.c  2006-06-10 07:25:27.000000000 +0200
+++ new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbplywhite.c  2007-02-16 10:12:40.000000000 +0100
@@ -1,4 +1,5 @@
 #define MFBFILLPOLY1RECT xf1bppFillPolyWhite
 #define OPEQ |=
 #define EQWHOLEWORD =~0
+#include "mfbmap.h"
 #include "../../../mfb/mfbply1rct.c"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbseg.c new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbseg.c
--- old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbseg.c       2006-06-10 07:25:27.000000000 +0200
+++ new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbseg.c       2007-02-16 10:12:40.000000000 +0100
@@ -1,2 +1,3 @@
 #define POLYSEGMENT
+#include "mfbmap.h"
 #include "../../../mfb/mfbline.c"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbteblack.c new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbteblack.c
--- old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbteblack.c   2006-06-10 07:25:27.000000000 +0200
+++ new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbteblack.c   2007-02-16 10:12:40.000000000 +0100
@@ -1,4 +1,5 @@
 #define OP ~
 #define CLIPTETEXT xf1bppImageGlyphBltBlack
 #define MFBTEGLYPHBLT xf1bppTEGlyphBltBlack
+#include "mfbmap.h"
 #include "../../../mfb/mfbtegblt.c"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbtewhite.c new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbtewhite.c
--- old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbtewhite.c   2006-06-10 07:25:27.000000000 +0200
+++ new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbtewhite.c   2007-02-16 10:12:40.000000000 +0100
@@ -1,4 +1,5 @@
 #define OP
 #define CLIPTETEXT xf1bppImageGlyphBltWhite
 #define MFBTEGLYPHBLT xf1bppTEGlyphBltWhite
+#include "mfbmap.h"
 #include "../../../mfb/mfbtegblt.c"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbtileC.c new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbtileC.c
--- old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbtileC.c     2006-06-10 07:25:27.000000000 +0200
+++ new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbtileC.c     2007-02-16 10:12:40.000000000 +0100
@@ -1,2 +1,3 @@
 #define MROP Mcopy
+#include "mfbmap.h"
 #include "../../../mfb/mfbtile.c"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbtileG.c new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbtileG.c
--- old/xorg-server-1.2.99.903/hw/xfree86/xf1bpp/mfbtileG.c     2006-06-10 07:25:27.000000000 +0200
+++ new/xorg-server-1.2.99.905/hw/xfree86/xf1bpp/mfbtileG.c     2007-02-16 10:12:40.000000000 +0100
@@ -1,2 +1,3 @@
 #define MRop M0
+#include "mfbmap.h"
 #include "../../../mfb/mfbtile.c"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/include/dix-config.h new/xorg-server-1.2.99.905/include/dix-config.h
--- old/xorg-server-1.2.99.903/include/dix-config.h     2007-03-27 05:49:55.000000000 +0200
+++ new/xorg-server-1.2.99.905/include/dix-config.h     2007-04-06 08:36:30.000000000 +0200
@@ -358,13 +358,13 @@
 #define XKB_IN_SERVER 1
 
 /* Vendor release */
-#define XORG_RELEASE "Release 1.2.99.903"
+#define XORG_RELEASE "Release 1.2.99.905"
 
 /* Current Xorg version */
-#define XORG_VERSION_CURRENT (((1) * 10000000) + ((2) * 100000) + ((99) * 1000) + 903)
+#define XORG_VERSION_CURRENT (((1) * 10000000) + ((2) * 100000) + ((99) * 1000) + 905)
 
 /* Xorg release date */
-#define XORG_DATE "26 March 2007"
+#define XORG_DATE "05 April 2007"
 
 /* Build Xv Extension */
 #define XvExtension 1
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/include/do-not-use-config.h new/xorg-server-1.2.99.905/include/do-not-use-config.h
--- old/xorg-server-1.2.99.903/include/do-not-use-config.h      2007-03-27 05:49:55.000000000 +0200
+++ new/xorg-server-1.2.99.905/include/do-not-use-config.h      2007-04-06 08:36:30.000000000 +0200
@@ -359,13 +359,13 @@
 #define PACKAGE_NAME "xorg-server"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "xorg-server 1.2.99.903"
+#define PACKAGE_STRING "xorg-server 1.2.99.905"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "xorg-server"
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.2.99.903"
+#define PACKAGE_VERSION "1.2.99.905"
 
 /* Internal define for Xinerama */
 #define PANORAMIX 1
@@ -469,7 +469,7 @@
 #define USE_RGB_TXT 1
 
 /* Version number of package */
-#define VERSION "1.2.99.903"
+#define VERSION "1.2.99.905"
 
 /* Building vgahw module */
 #define WITH_VGAHW 1
@@ -559,19 +559,19 @@
 #define XORGSERVER 1
 
 /* Vendor release */
-#define XORG_DATE "26 March 2007"
+#define XORG_DATE "05 April 2007"
 
 /* Vendor man version */
-#define XORG_MAN_VERSION "Version 1.2.99.903"
+#define XORG_MAN_VERSION "Version 1.2.99.905"
 
 /* Vendor release */
-#define XORG_RELEASE "Release 1.2.99.903"
+#define XORG_RELEASE "Release 1.2.99.905"
 
 /* Building Xorg server */
 #define XORG_SERVER 1
 
 /* Current Xorg version */
-#define XORG_VERSION_CURRENT (((1) * 10000000) + ((2) * 100000) + ((99) * 1000) + 903)
+#define XORG_VERSION_CURRENT (((1) * 10000000) + ((2) * 100000) + ((99) * 1000) + 905)
 
 /* Build Print extension */
 /* #undef XPRINT */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/include/xorg-config.h new/xorg-server-1.2.99.905/include/xorg-config.h
--- old/xorg-server-1.2.99.903/include/xorg-config.h    2007-03-27 05:49:55.000000000 +0200
+++ new/xorg-server-1.2.99.905/include/xorg-config.h    2007-04-06 08:36:30.000000000 +0200
@@ -17,7 +17,7 @@
 #define XORGSERVER 1
 
 /* Current X.Org version. */
-#define XORG_VERSION_CURRENT (((1) * 10000000) + ((2) * 100000) + ((99) * 1000) + 903)
+#define XORG_VERSION_CURRENT (((1) * 10000000) + ((2) * 100000) + ((99) * 1000) + 905)
 
 /* Need XFree86 libc-replacement typedefs. */
 #define NEED_XF86_TYPES 1
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/include/xorg-server.h new/xorg-server-1.2.99.905/include/xorg-server.h
--- old/xorg-server-1.2.99.903/include/xorg-server.h    2007-03-27 05:49:55.000000000 +0200
+++ new/xorg-server-1.2.99.905/include/xorg-server.h    2007-04-06 08:36:30.000000000 +0200
@@ -162,10 +162,10 @@
 #define XORGSERVER 1
 
 /* Vendor release */
-#define XORG_RELEASE "Release 1.2.99.903"
+#define XORG_RELEASE "Release 1.2.99.905"
 
 /* Current Xorg version */
-#define XORG_VERSION_CURRENT (((1) * 10000000) + ((2) * 100000) + ((99) * 1000) + 903)
+#define XORG_VERSION_CURRENT (((1) * 10000000) + ((2) * 100000) + ((99) * 1000) + 905)
 
 /* Build Xv Extension */
 #define XvExtension 1
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/os/WaitFor.c new/xorg-server-1.2.99.905/os/WaitFor.c
--- old/xorg-server-1.2.99.903/os/WaitFor.c     2006-12-01 02:40:11.000000000 +0100
+++ new/xorg-server-1.2.99.905/os/WaitFor.c     2007-04-06 08:33:58.000000000 +0200
@@ -125,7 +125,7 @@
 };
 
 static void DoTimer(OsTimerPtr timer, CARD32 now, OsTimerPtr *prev);
-static void CheckAllTimers(CARD32 now);
+static void CheckAllTimers(void);
 static OsTimerPtr timers = NULL;
 
 /*****************
@@ -204,7 +204,7 @@
            timeout = timers->expires - now;
             if (timeout > 0 && timeout > timers->delta + 250) {
                 /* time has rewound.  reset the timers. */
-                CheckAllTimers(now);
+                CheckAllTimers();
             }
 
            if (timers) {
@@ -439,11 +439,14 @@
 /* If time has rewound, re-run every affected timer.
  * Timers might drop out of the list, so we have to restart every time. */
 static void
-CheckAllTimers(CARD32 now)
+CheckAllTimers(void)
 {
     OsTimerPtr timer;
+    CARD32 now;
 
 start:
+    now = GetTimeInMillis();
+
     for (timer = timers; timer; timer = timer->next) {
         if (timer->expires - now > timer->delta + 250) {
             TimerForce(timer);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xorg-server-1.2.99.903/Xext/xcmisc.c new/xorg-server-1.2.99.905/Xext/xcmisc.c
--- old/xorg-server-1.2.99.903/Xext/xcmisc.c    2006-09-18 08:04:17.000000000 +0200
+++ new/xorg-server-1.2.99.905/Xext/xcmisc.c    2007-04-06 08:33:58.000000000 +0200
@@ -42,6 +42,12 @@
 #include <X11/extensions/xcmiscstr.h>
 #include "modinit.h"
 
+#if HAVE_STDINT_H
+#include <stdint.h>
+#elif !defined(UINT32_MAX)
+#define UINT32_MAX 0xffffffffU
+#endif
+
 #if 0
 static unsigned char XCMiscCode;
 #endif
@@ -143,7 +149,10 @@
 
     REQUEST_SIZE_MATCH(xXCMiscGetXIDListReq);
 
-    pids = (XID *)ALLOCATE_LOCAL(stuff->count * sizeof(XID));
+    if (stuff->count > UINT32_MAX / sizeof(XID))
+           return BadAlloc;
+
+    pids = (XID *)Xalloc(stuff->count * sizeof(XID));
     if (!pids)
     {
        return BadAlloc;
@@ -164,7 +173,7 @@
        client->pSwapReplyFunc = (ReplySwapPtr) Swap32Write;
        WriteSwappedDataToClient(client, count * sizeof(XID), pids);
     }
-    DEALLOCATE_LOCAL(pids);
+    Xfree(pids);
     return(client->noClientException);
 }
 


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-commit+help@xxxxxxxxxxxx

< Previous Next >