[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xorg-server: Changes to 'debian-experimental'



 ChangeLog                                                                   |  461 ++++++++++
 Xi/exevents.c                                                               |   19 
 Xi/xiselectev.c                                                             |    9 
 config/udev.c                                                               |    8 
 configure.ac                                                                |    6 
 debian/changelog                                                            |   24 
 debian/patches/02_Add-libnettle-as-option-for-sha1.diff                     |    9 
 debian/patches/05_Revert-Unload-submodules.diff                             |    7 
 debian/patches/07_Revert-kinput-allocate-enough-space-for-null-charact.diff |    7 
 debian/patches/08_xfree86_fix_ia64_inx_outx.diff                            |   64 +
 debian/patches/series                                                       |    1 
 dix/devices.c                                                               |    4 
 dix/events.c                                                                |   25 
 dix/getevents.c                                                             |    9 
 dix/touch.c                                                                 |   32 
 exa/exa_priv.h                                                              |    1 
 exa/exa_unaccel.c                                                           |   16 
 hw/xfree86/common/Makefile.am                                               |    3 
 hw/xfree86/common/xf86.h                                                    |    4 
 hw/xfree86/common/xf86Bus.c                                                 |    4 
 hw/xfree86/common/xf86Helper.c                                              |    6 
 hw/xfree86/common/xf86Module.h                                              |    2 
 hw/xfree86/common/xf86platformBus.c                                         |    6 
 hw/xfree86/dri2/dri2.c                                                      |   74 -
 hw/xwin/InitOutput.c                                                        |    5 
 hw/xwin/Makefile.am                                                         |    3 
 hw/xwin/glx/Makefile.am                                                     |    3 
 include/input.h                                                             |    1 
 man/Xserver.man                                                             |    2 
 xkb/xkbAccessX.c                                                            |    2 
 30 files changed, 730 insertions(+), 87 deletions(-)

New commits:
commit 7d536cf2656eaeeb63e8fd29e2faf36d7cd18c23
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date:   Fri Nov 23 09:45:37 2012 +0200

    Drop 09_EXA-Track...diff, upstream.
    
    refresh other patches

diff --git a/debian/changelog b/debian/changelog
index 25d6597..23fcd94 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -9,6 +9,7 @@ xorg-server (2:1.13.0.901-1) UNRELEASED; urgency=low
   * Refresh 02_Add-libnettle-as-option-for-sha1.diff.
   * Remove 03_fix-panning.diff, upstream
   * Refresh 04_int10-fix-pci_device_read_rom-usage.diff.
+  * Drop 09_EXA-Track...diff, upstream.
 
  -- Robert Hooker <sarvatt@ubuntu.com>  Wed, 22 Aug 2012 11:12:17 -0400
 
diff --git a/debian/patches/02_Add-libnettle-as-option-for-sha1.diff b/debian/patches/02_Add-libnettle-as-option-for-sha1.diff
index fe5c641..49ddcf3 100644
--- a/debian/patches/02_Add-libnettle-as-option-for-sha1.diff
+++ b/debian/patches/02_Add-libnettle-as-option-for-sha1.diff
@@ -10,16 +10,16 @@ Signed-off-by: Julien Cristau <jcristau@debian.org>
 ---
 --- a/configure.ac
 +++ b/configure.ac
-@@ -1339,7 +1339,7 @@ CORE_INCS='-I$(top_srcdir)/include -I$(t
+@@ -1361,7 +1361,7 @@ CORE_INCS='-I$(top_srcdir)/include -I$(t
  
  # SHA1 hashing
  AC_ARG_WITH([sha1],
--            [AS_HELP_STRING([--with-sha1=libc|libmd|libgcrypt|libcrypto|libsha1|CommonCrypto],
-+            [AS_HELP_STRING([--with-sha1=libc|libmd|libgcrypt|libcrypto|libsha1|CommonCrypto|nettle],
+-            [AS_HELP_STRING([--with-sha1=libc|libmd|libgcrypt|libcrypto|libsha1|CommonCrypto|CryptoAPI],
++            [AS_HELP_STRING([--with-sha1=libc|libmd|libgcrypt|libcrypto|libsha1|CommonCrypto|CryptoAPI|nettle],
                              [choose SHA1 implementation])])
  AC_CHECK_FUNC([SHA1Init], [HAVE_SHA1_IN_LIBC=yes])
  if test "x$with_sha1" = x && test "x$HAVE_SHA1_IN_LIBC" = xyes; then
-@@ -1422,6 +1422,16 @@ if test "x$with_sha1" = xlibcrypto; then
+@@ -1457,6 +1457,16 @@ if test "x$with_sha1" = xlibcrypto; then
  		SHA1_CFLAGS="$OPENSSL_CFLAGS"
  	fi
  fi
@@ -38,7 +38,7 @@ Signed-off-by: Julien Cristau <jcristau@debian.org>
  	AC_MSG_ERROR([No suitable SHA1 implementation found])
 --- a/include/dix-config.h.in
 +++ b/include/dix-config.h.in
-@@ -157,6 +157,9 @@
+@@ -160,6 +160,9 @@
  /* Define to use libsha1 for SHA1 */
  #undef HAVE_SHA1_IN_LIBSHA1
  
@@ -50,7 +50,7 @@ Signed-off-by: Julien Cristau <jcristau@debian.org>
  
 --- a/os/xsha1.c
 +++ b/os/xsha1.c
-@@ -148,6 +148,31 @@ x_sha1_final(void *ctx, unsigned char re
+@@ -190,6 +190,32 @@ x_sha1_final(void *ctx, unsigned char re
      return 1;
  }
  
diff --git a/debian/patches/05_Revert-Unload-submodules.diff b/debian/patches/05_Revert-Unload-submodules.diff
index b48b2d2..1cc8ff8 100644
--- a/debian/patches/05_Revert-Unload-submodules.diff
+++ b/debian/patches/05_Revert-Unload-submodules.diff
@@ -10,11 +10,9 @@ This doesn't seem to work quite well.  See Debian bug#686152.
  hw/xfree86/common/xf86Helper.c |    6 ++++++
  1 file changed, 6 insertions(+)
 
-diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c
-index 8c948cf..620c9b8 100644
 --- a/hw/xfree86/common/xf86Helper.c
 +++ b/hw/xfree86/common/xf86Helper.c
-@@ -1554,7 +1554,13 @@ xf86LoadOneModule(char *name, pointer opt)
+@@ -1596,7 +1596,13 @@ xf86LoadOneModule(char *name, pointer op
  void
  xf86UnloadSubModule(pointer mod)
  {
@@ -28,6 +26,3 @@ index 8c948cf..620c9b8 100644
  }
  
  Bool
--- 
-1.7.10.4
-
diff --git a/debian/patches/07_Revert-kinput-allocate-enough-space-for-null-charact.diff b/debian/patches/07_Revert-kinput-allocate-enough-space-for-null-charact.diff
index be1b598..e842b7f 100644
--- a/debian/patches/07_Revert-kinput-allocate-enough-space-for-null-charact.diff
+++ b/debian/patches/07_Revert-kinput-allocate-enough-space-for-null-charact.diff
@@ -36,11 +36,9 @@ Cc: Dave Airlie <airlied@redhat.com>
  hw/kdrive/src/kinput.c |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-Index: xorg-server/hw/kdrive/src/kinput.c
-===================================================================
---- xorg-server.orig/hw/kdrive/src/kinput.c
-+++ xorg-server/hw/kdrive/src/kinput.c
-@@ -1055,7 +1055,7 @@ KdGetOptions(InputOption **options, char
+--- a/hw/kdrive/src/kinput.c
++++ b/hw/kdrive/src/kinput.c
+@@ -1034,7 +1034,7 @@ KdGetOptions(InputOption **options, char
  
      if (strchr(string, '=')) {
          tam_key = (strchr(string, '=') - string);
diff --git a/debian/patches/08_xfree86_fix_ia64_inx_outx.diff b/debian/patches/08_xfree86_fix_ia64_inx_outx.diff
index 87403a1..10dbbe9 100644
--- a/debian/patches/08_xfree86_fix_ia64_inx_outx.diff
+++ b/debian/patches/08_xfree86_fix_ia64_inx_outx.diff
@@ -5,11 +5,9 @@ Call the equivalent glibc functions.
 
 Debian bug #685750
 
-Index: xorg-server/hw/xfree86/common/compiler.h
-===================================================================
---- xorg-server.orig/hw/xfree86/common/compiler.h
-+++ xorg-server/hw/xfree86/common/compiler.h
-@@ -421,6 +421,54 @@ extern _X_EXPORT unsigned int inl(unsign
+--- a/hw/xfree86/common/compiler.h
++++ b/hw/xfree86/common/compiler.h
+@@ -438,6 +438,54 @@ extern _X_EXPORT unsigned int inl(unsign
  #include <machine/pio.h>
  #endif                          /* __NetBSD__ */
  
diff --git a/debian/patches/09_EXA-Track-source-mask-pixmaps-more-explicitly-for-Co.diff b/debian/patches/09_EXA-Track-source-mask-pixmaps-more-explicitly-for-Co.diff
deleted file mode 100644
index 6fb782a..0000000
--- a/debian/patches/09_EXA-Track-source-mask-pixmaps-more-explicitly-for-Co.diff
+++ /dev/null
@@ -1,86 +0,0 @@
-From 1ca096d5e07221025c4c4110528772b7d94f15ee Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com>
-Date: Mon, 29 Oct 2012 12:57:54 +0100
-Subject: [PATCH] EXA: Track source/mask pixmaps more explicitly for Composite
- fallback regions.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-In particular, make sure pExaScr->src/maskPix are cleared when the
-corresponding pictures aren't associated with drawables, i.e. solid or gradient
-pictures. Without this, we would in some cases associate the source/mask region
-with unrelated pixmaps from previous Composite fallbacks, resulting in random
-corruption.
-
-Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47266
-
-Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
-Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Keith Packard <keithp@keithp.com>
----
- exa/exa_priv.h    |    1 +
- exa/exa_unaccel.c |   16 ++++++++++++----
- 2 files changed, 13 insertions(+), 4 deletions(-)
-
-Index: xorg-server/exa/exa_priv.h
-===================================================================
---- xorg-server.orig/exa/exa_priv.h
-+++ xorg-server/exa/exa_priv.h
-@@ -207,6 +207,7 @@ typedef struct {
-     RegionRec srcReg;
-     RegionRec maskReg;
-     PixmapPtr srcPix;
-+    PixmapPtr maskPix;
- 
- } ExaScreenPrivRec, *ExaScreenPrivPtr;
- 
-Index: xorg-server/exa/exa_unaccel.c
-===================================================================
---- xorg-server.orig/exa/exa_unaccel.c
-+++ xorg-server/exa/exa_unaccel.c
-@@ -442,6 +442,13 @@ ExaSrcValidate(DrawablePtr pDrawable,
-     RegionPtr dst;
-     int xoff, yoff;
- 
-+    if (pExaScr->srcPix == pPix)
-+        dst = &pExaScr->srcReg;
-+    else if (pExaScr->maskPix == pPix)
-+        dst = &pExaScr->maskReg;
-+    else
-+        return;
-+
-     exaGetDrawableDeltas(pDrawable, pPix, &xoff, &yoff);
- 
-     box.x1 = x + xoff;
-@@ -449,8 +456,6 @@ ExaSrcValidate(DrawablePtr pDrawable,
-     box.x2 = box.x1 + width;
-     box.y2 = box.y1 + height;
- 
--    dst = (pExaScr->srcPix == pPix) ? &pExaScr->srcReg : &pExaScr->maskReg;
--
-     RegionInit(&reg, &box, 1);
-     RegionUnion(dst, dst, &reg);
-     RegionUninit(&reg);
-@@ -495,16 +500,19 @@ ExaPrepareCompositeReg(ScreenPtr pScreen
-         if (pSrc != pDst)
-             RegionTranslate(pSrc->pCompositeClip,
-                             -pSrc->pDrawable->x, -pSrc->pDrawable->y);
--    }
-+    } else
-+        pExaScr->srcPix = NULL;
- 
-     if (pMask && pMask->pDrawable) {
-         pMaskPix = exaGetDrawablePixmap(pMask->pDrawable);
-         RegionNull(&pExaScr->maskReg);
-         maskReg = &pExaScr->maskReg;
-+        pExaScr->maskPix = pMaskPix;
-         if (pMask != pDst && pMask != pSrc)
-             RegionTranslate(pMask->pCompositeClip,
-                             -pMask->pDrawable->x, -pMask->pDrawable->y);
--    }
-+    } else
-+        pExaScr->maskPix = NULL;
- 
-     RegionTranslate(pDst->pCompositeClip,
-                     -pDst->pDrawable->x, -pDst->pDrawable->y);
diff --git a/debian/patches/series b/debian/patches/series
index 4c01e45..592a3ab 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -8,4 +8,3 @@
 06_Revert-fb-reorder-Bresenham-error-correction-to-avoi.diff
 07_Revert-kinput-allocate-enough-space-for-null-charact.diff
 08_xfree86_fix_ia64_inx_outx.diff
-09_EXA-Track-source-mask-pixmaps-more-explicitly-for-Co.diff

commit a91a5b47701ee9ee67eed65533b475de20069398
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date:   Fri Nov 23 09:17:59 2012 +0200

    update the changelogs

diff --git a/ChangeLog b/ChangeLog
index 65ac4bc..3fed06c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,464 @@
+commit c0e68f8e70e0b0fbb00992228c4651d5b0902759
+Author: Matt Dew <marcoz@osource.org>
+Date:   Thu Nov 22 21:37:57 2012 -0700
+
+    Bump release info for this RC1.
+
+commit 395c9e17089a7e4ed46a747904b36b1fec94fab3
+Author: Michel Dänzer <michel.daenzer@amd.com>
+Date:   Mon Oct 29 12:57:54 2012 +0100
+
+    EXA: Track source/mask pixmaps more explicitly for Composite fallback regions.
+    
+    In particular, make sure pExaScr->src/maskPix are cleared when the
+    corresponding pictures aren't associated with drawables, i.e. solid or gradient
+    pictures. Without this, we would in some cases associate the source/mask region
+    with unrelated pixmaps from previous Composite fallbacks, resulting in random
+    corruption.
+    
+    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47266
+    
+    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
+    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+    Signed-off-by: Keith Packard <keithp@keithp.com>
+    (cherry picked from commit 1ca096d5e07221025c4c4110528772b7d94f15ee)
+
+commit 7914986fb801f6ea98582db21c0d86b9b200b9ac
+Merge: b3d25d8 1a4ec49
+Author: Matt Dew <marcoz@osource.org>
+Date:   Wed Nov 7 23:24:53 2012 -0700
+
+    Merge branch 'server-1.13-branch' of git://people.freedesktop.org/~whot/xserver into server-1.13-branch
+
+commit 1a4ec493bf3d3d14799340c03533cdcd44b841e8
+Author: Carlos Garnacho <carlosg@gnome.org>
+Date:   Wed Oct 31 19:29:45 2012 +0100
+
+    Xi: Set modifier mask on touch events
+    
+    Button mask should be out-of-band with the emulated
+    pointer events as touch devices don't truly have
+    "buttons". Even though, it's handy to have the modifier
+    mask from the paired keyboard on touch events.
+    
+    Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
+    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    (cherry picked from commit b4e44b285ed0eee1d06514215a4b01d54f40094b)
+
+commit 2f99b38747e1a74cade10a7a45cee5eaec8ddea7
+Author: Carlos Garnacho <carlosg@gnome.org>
+Date:   Wed Oct 31 19:32:57 2012 +0100
+
+    Xi: Update the device after delivering the emulated pointer event(#56558)
+    
+    Ensure emulated pointer events contain the state that applies before the
+    event was processed, so the device state must be updated after delivering
+    such emulated events.
+    
+    Co-authored-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
+    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    (cherry picked from commit 863f32c930d71073ee5f78452b78bd459d024867)
+
+commit 10d9cd36b4966c8e3ea8e791152e1af166224ee8
+Author: Carlos Garnacho <carlosg@gnome.org>
+Date:   Thu Oct 25 15:03:50 2012 +0200
+
+    Sync TouchListener memory allocation with population in TouchSetupListeners()
+    
+    The allocated TouchListener array may fall short by 1 if hitting the worst case
+    situation where there's an active grab, passive grabs on each window in the
+    sprite trace and event selection for touch in one of the windows. This may lead
+    to memory corruptions as the array is overflown.
+    
+    Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
+    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    (cherry picked from commit ced56f322ead10d1bc93fcd1f8e0ec3ae51292a3)
+
+commit 835737244f84d34b0b9c5a93560710a2275dcc63
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Thu Oct 18 15:11:31 2012 +1000
+
+    dix: fix zaphod screen scrossing (#54654)
+    
+    POINTER_SCREEN coordinates are screen-relative. For a Zaphod setup, the
+    coordinates after a screen crossing are already relative to the new screen's
+    origin. Add that offset to the coordinates before re-setting.
+    
+    regression introduced by
+    commit bafbd99080be49a17be97d2cc758fbe623369945
+    Author: Peter Hutterer <peter.hutterer@who-t.net>
+    Date:   Wed Aug 8 11:34:32 2012 +1000
+    
+        dix: work around scaling issues during WarpPointer (#53037)
+    
+    X.Org Bug 54654 <http://bugs.freedesktop.org/show_bug.cgi?id=54654>
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Reviewed-by: Keith Packard <keithp@keithp.com>
+    (cherry picked from commit e7cd5cce740e653000fb1192b600268dcf77dde2)
+
+commit a3f11d2f6066d2120e84f0c33684943474aa8ae1
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Wed Oct 17 14:13:29 2012 +1000
+
+    Xi: don't deliver TouchEnd to a client waiting for TouchBegin (#55738)
+    
+    If a client is still waiting for the TouchBegin, don't deliver a TouchEnd
+    event.
+    
+    X.Org Bug 55738 <http://bugs.freedesktop.org/show_bug.cgi?id=55738>
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Tested-by: Thomas Jaeger <thjaeger@gmail.com>
+    Reviewed-by: Keith Packard <keithp@keithp.com>
+    (cherry picked from commit 676447190190d8546165e21be242cf16dd69f5ae)
+
+commit 11319a922575f1da1d3c5774728c0dee12bab069
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Thu Oct 11 16:03:33 2012 +1000
+
+    xkb: ProcesssPointerEvent must work on the VCP if it gets the VCP
+    
+    For button release events, the current code picks the VCK. Because that has
+    a XKB struct, it thinks this is a PointerKeys event and proceeds to send the
+    release event through the XTest pointer. That has no effect in normal
+    operation as the button is never down and an attempt is silently discarded
+    (normal event processing continues with the VCP).
+    
+    On server shutdown, the XTest device is already removed, leading to a
+    null-pointer derefernce when the device is checked for whether buttons are
+    down (XkbFakeDeviceButton → button_is_down(xtest pointer)).
+    
+    The current state has only worked by accident, the right approach here is to
+    handle the VCP's event as such and not switch to the keyboard.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Reviewed-by: Keith Packard <keithp@keithp.com>
+    (cherry picked from commit 2decff6393a44b56d80d53570718f95354fde454)
+
+commit 9ddc6ad9d02d886c1dba0496fc9480db64529bf2
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date:   Thu Jun 7 14:12:06 2012 -0700
+
+    End physically active touches when device is disabled
+    
+    Otherwise:
+    
+    * We can't end the touches while device is disabled
+    * New touches after enabling the device may erroneously be mapped to old
+      logical touches
+    
+    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    (cherry picked from commit 3b67cd26149eb991b5f015061a818af65369e668)
+
+commit 36f9c2d1ddc8a35c0317db55044d05f07284ab38
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Wed Oct 10 13:33:48 2012 +1000
+
+    dix: fix crash on shutdown if a disabled device is still grabbed (XI1 grab)
+    
+    A disabled device doesn't have a sprite (less so a sprite->win) and triggers
+    a NULL-pointer dereference on shutdown when all active grabs are released as
+    part of the cleanup.
+    
+    Fix this by checking for sprite being non-null and setting the focus window
+    to the NullWindow if it is. The rest of the patch just attempts to make
+    things more readable.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Reviewed-by: Keith Packard <keithp@keithp.com>
+    (cherry picked from commit 4b7f00346daed20c96f3e8ea13ae411858a5424b)
+
+commit b3d25d8d65e4a4864da232630758f125f8a1bfb4
+Merge: 5a612aa b87edf1
+Author: Matt Dew <marcoz@osource.org>
+Date:   Thu Nov 1 22:17:59 2012 -0600
+
+    Merge branch 'server-1.13-branch' of git://people.freedesktop.org/~airlied/xserver into server-1.13-branch
+
+commit b87edf1acca7e57139cd6bdf5838c2b4179352dc
+Author: Dave Airlie <airlied@redhat.com>
+Date:   Mon Aug 27 15:22:44 2012 +1000
+
+    xf86: fix multi-seat video device support. (v2)
+    
+    If we are not seat 0 the following apply:
+    
+    don't probe any bus other than platform
+    don't probe any drivers other than platform
+    assume the first platform device we match on the bus is the primary GPU.
+    
+    This just adds checks in the correct places to ensure this, and
+    with this X can now start on a secondary seat for an output device.
+    
+    v2: fix Seat0 macros
+    Reviewed-by: Keith Packard <keithp@keithp.com>
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+    (cherry picked from commit 70e5766874a919039678bb2ed75f2ccea0cb4345)
+
+commit 1e8c960f8777a889fbc17c8711b3e68fd094427b
+Author: Dave Airlie <airlied@gmail.com>
+Date:   Thu Sep 13 18:44:06 2012 +1000
+
+    config/udev: ignore change on drm devices
+    
+    for input devices we handle change like remove/add, but for
+    drm devices we get change events when we hotplug outputs,
+    so lets just ignore change at this level, and let the drivers
+    handle it. We may in the future want to route driver udev
+    from here instead.
+    
+    Reported-by: Timo Aaltonen <timo.aaltonen@canonical.com>
+    Reviewed-by: Keith Packard <keithp@keithp.com>
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+    (cherry picked from commit e0b92f5f86f8ce71ab4c80e9902e51e2525f9705)
+
+commit c7c07558919102f06aeb3fad5f856f04e6757a76
+Author: Dave Airlie <airlied@redhat.com>
+Date:   Mon Sep 10 14:48:37 2012 +1000
+
+    xf86/platform: scan pci after probing devices
+    
+    This solves a race if we are trying to dynamically power off
+    secondary GPUs. Its not the greatest fix ever but it probably
+    as good as we can do for now.
+    
+    The GPU probing causes the devices to be powered up, then when
+    we scan the PCI bus we get the correct information from the kernel,
+    rather than a bunch of 0xff due to the device being powered off.
+    
+    drop gratuitous '&'.
+    
+    Reviewed-by: Keith Packard <keithp@keithp.com>
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+    (cherry picked from commit 10672a5abe7d4e924844d7e41c86c24d6367a52b)
+
+commit 39ebf87be749c59a06cb1763e11f14c722f77fbd
+Author: Dave Airlie <airlied@redhat.com>
+Date:   Thu Sep 6 16:33:54 2012 +1000
+
+    dri2: invalidate drawable after sharing pixmap
+    
+    After we share the pixmap, the backing storage may have changed,
+    and we need to invalidate and buffers pointing at it.
+    
+    This fixes GL compositors and prime windows lacking contents initially.
+    
+    Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+    (cherry picked from commit 22746df15b5f75dc85f5cf5b73932eb8a44cb89b)
+
+commit 5a612aa44d2fda44317a242c2d8a5fb2afde76c6
+Merge: 8f39a6b 0456d56
+Author: Matt Dew <marcoz@osource.org>
+Date:   Tue Oct 30 22:12:56 2012 -0600
+
+    Merge branch 'server-1.13-branch' of git://people.freedesktop.org/~jturney/xserver into server-1.13-branch
+
+commit 0456d56092e7617131c77b50a7e7f501e6d9d275
+Author: Jon TURNEY <jon.turney@dronecode.org.uk>
+Date:   Fri Sep 7 14:58:06 2012 +0100
+
+    Fix 'make distcheck' for hw/xwin
+    
+    Add some missing header files to _SOURCES so they get distributed properly
+    
+    Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
+    Reviewed-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
+    (cherry picked from commit a69429a17bf4630f6e26f61630a1c2b287202627)
+
+commit 018248136aae19887f10860f33f085f6211a4ceb
+Author: Jon TURNEY <jon.turney@dronecode.org.uk>
+Date:   Thu Sep 6 13:51:38 2012 +0100
+
+    Fix compilation of Xorg DDX without XF86VIDMODE
+    
+    Fix compilation of Xorg DDX without XF86VIDMODE since 6e74fdda, by putting
+    xf86vmode.c back under the XF86VIDMODE automake conditional it was accidentally
+    taken out of.
+    
+    Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
+    Tested-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
+    Reviewed-by: Daniel Stone <daniel@fooishbar.org>
+    (cherry picked from commit 1d9fd7ffb03ff6e44f3a8736a94e4558203ce607)
+
+commit d46af347327bd60a4b2a8066b8b7af11f530590d
+Author: Jon TURNEY <jon.turney@dronecode.org.uk>
+Date:   Sun Sep 2 15:17:05 2012 +0100
+
+    hw/xwin: Only add GLX extension once.
+    
+    Using of LoadExtension() to add GLX onto to the end of the list of extensions on
+    every server regeneration leads to hilarious consequences (i.e. crashing) after
+    the first regeneration :-)
+    
+    Possibly xf86ExtensionInit() and QuartzExtensionInit() need a similar fix.
+    
+    Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
+    Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
+    Tested-by: Colin Harrison <colin.harrison@virgin.net>
+    (cherry picked from commit 25741b1aa3a0fb39cb842a43ab52935673cfdefa)
+
+commit cdd7413bbe1d8b9b64f5315ecd5ba5cdcba38a2c
+Author: Jon TURNEY <jon.turney@dronecode.org.uk>
+Date:   Sun Sep 2 14:55:25 2012 +0100
+
+    Correct description of -displayfd option in man page.
+    
+    A display number, not a port number, is written to the specified fd.
+    
+    Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
+    Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    (cherry picked from commit 7ceb85481280fecbf033f147f0f7834cad3890c6)
+
+commit 8f39a6b0b35764c8d5cac4c7bf66d5902c0ae9a5
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Wed Oct 3 13:12:27 2012 +1000
+
+    xfree86: add xf86UpdateDesktopDimensions()
+    
+    This call is required for external drivers (specifically NVIDIA) that do
+    not share the xfree86 infrastructure to update the desktop dimensions.
+    Without it, the driver would update the ScreenRecs but not update the total
+    dimensions the input code relies on for transformation.
+    
+    This call is a thin wrapper around the already-existing internal call and
+    should be backported to all stable series servers, with the minor ABI bump.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    CC: Andy Ritger <aritger@nvidia.com>
+    Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
+    (cherry picked from commit 0a75bd640b3dc26b89d9e342999a7f4b7e98edbf)
+    
+    Conflicts:
+    	hw/xfree86/common/xf86Module.h
+
+commit bea56fc9c460309c676e2ead2080be923d1061dc
+Author: Yufeng Shen <miletus@chromium.org>
+Date:   Mon Sep 24 14:03:31 2012 -0400
+
+    dix: fix scale_to_desktop for edge ABS events
+    
+    Scale_to_desktop() converts ABS events from device coordinates
+    to screen coordinates:
+    [dev_X_min, dev_X_max]  -> [screen_X_min, screen_X_max]
+    [dev_Y_min, dev_Y_max]  -> [screen_Y_min, screen_Y_max]
+    
+    An edge ABS event with X = dev_X_max (e.g., generated from the
+    edge of a touchscreen) will be converted to have screen X value
+    = screen_X_max, which, however, will be filterd out when xserver
+    tries to find proper Window to receive the event, because the
+    range check for a Window to receive events is
+           window_X_min <= event_screen_X < window_X_max
+    Events with event_screen_X = screen_X_max will fail the test get
+    and rejected by the Window.
+    
+    To fix this, we change the device to screen coordinates mapping to
+    [dev_X_min, dev_X_max]  -> [screen_X_min, screen_X_max-1]
+    [dev_Y_min, dev_Y_max]  -> [screen_Y_min, screen_Y_max-1]
+    
+    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+    Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+    Signed-off-by: Yufeng Shen <miletus@chromium.org>
+    Signed-off-by: Keith Packard <keithp@keithp.com>
+    (cherry picked from commit 0b02150c27e98f996e10d7489f9f67a30e4e3497)
+
+commit f9709b8a63c70fd772286000757c8348a6ad5e1d
+Author: Daniel Drake <dsd@laptop.org>
+Date:   Fri Sep 7 21:48:35 2012 -0400
+
+    Xi: Don't check for TOUCH_END, it's never set
+    
+    This flag is never set, so checking for it here means that we'll
+    never release the simulated mouse button press after the user touches
+    (and releases) the touchscreen for the first time.
+    
+    Fixes a problem where the XO laptop touchpad became totally
+    unusable after touching the screen for the first time (since X then
+    behaved as if the mouse button was held down all the time).
+    
+    Signed-off-by: Daniel Drake <dsd@laptop.org>
+    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    (cherry picked from commit 3e6358ee6c33979329b78fe2097a1fdf76fb69cd)
+
+commit f5fad30822ecd4d9767fd8078221910fbf038811
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Fri Sep 28 11:49:29 2012 +1000
+
+    dix: fix crash on XI 1.x grabs on disabled devices.  (#54934)
+    
+    If the device is disabled, the sprite window is NULL and dereferencing
+    crashes the server.
+    
+    This is only triggered for XI 1.x grabs (ProcXGrabDevice) as XI2 grabs would
+    trigger another code path, creating a sprite for the disabled device as if
+    detaching it (which is wrong and fixed with this patch too).
+    
+    Grabbing a disabled device doesn't make sense as it won't send events
+    anyway. However, the protocol specs do not prohibit it, so we need to keep
+    it working.
+    Luckily, oldWin is only used for focus out events, which aren't necessary
+    given that the device is disabled.
+    
+    X.Org Bug 54934 <http://bugs.freedesktop.org/show_bug.cgi?id=54934>
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Reviewed-by: Chase Douglas <chase.douglas@ubuntu.com>
+    (cherry picked from commit 9d6b8365702e4648e793fea21ad22f7174558680)
+
+commit aacfc321b44eae15020875a2b2c9b6ff0e14dd8c
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Fri Sep 7 18:17:46 2012 +0100
+
+    Touch: Fix duplicate TouchBegin selection with virtual devices
+    
+    Given the following scenario:
+      1) client A selects for TouchBegin on window W for device D
+      2) client B selects for TouchBegin on window W for XIAllDevices
+      3) client C selects for TouchBegin on window W with device E
+    
+    Step 3 will fail with BadImplementation, because attempting to look up
+    XIAllDevices or XIAllMasterDevices with dixLookupDevices doesn't work.
+    This should succeed (or, if it was selecting for device D, fail with
+    BadAccess as it would be a duplicate selection).
+    
+    Fix this by performing the appropriate lookup for virtual devices.
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+    Reviewed-by: Chase Douglas <chase.douglas@ubuntu.com>
+    (cherry picked from commit 3d2b768efae9936c6929c2bc13c7a1acc074ecd3)
+
+commit e31e272f4fc8b2aa8e2101b89bb65bc1d6a5e1be
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Thu Sep 20 05:56:39 2012 +1000
+
+    dix: set the device transformation matrix
+    
+    The property handler is registered after setting the property, so
+    dev->transform remains as all-zeros. That causes pixman_f_transform_invert()
+    to fail (in transformAbsolute()) and invert remains as garbage. This
+    may then cause a cursor jump to 0,0.
+    
+    Since the axes are not yet initialized here and we need to allow for drivers
+    changing the matrix, we cannot use the property handler for matrix
+    initialization, essentially duplicating the code.
+    
+    Triggered by the fix to (#49347) in 749a593e49adccdf1225be28a521412ec85333f4
+    
+    https://bugzilla.redhat.com/show_bug.cgi?id=852841
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Reviewed-by: Chase Douglas <chase.douglas@ubuntu.com>
+    Signed-off-by: Keith Packard <keithp@keithp.com>
+    (cherry picked from commit 3d1051aecbb1955084804133cacd12c7f696833a)
+
 commit f0bad69edd57facd6cffde8cb0863d1a735e2492
 Author: Keith Packard <keithp@keithp.com>
 Date:   Wed Sep 5 14:45:08 2012 -0700
diff --git a/debian/changelog b/debian/changelog
index dea9587..6db567e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xorg-server (2:1.13.0-1) UNRELEASED; urgency=low
+xorg-server (2:1.13.0.901-1) UNRELEASED; urgency=low
 
   * New upstream release
 

commit c0e68f8e70e0b0fbb00992228c4651d5b0902759
Author: Matt Dew <marcoz@osource.org>
Date:   Thu Nov 22 21:37:57 2012 -0700

    Bump release info for this RC1.

diff --git a/configure.ac b/configure.ac
index ac3bf26..590b773 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,9 +26,9 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ(2.60)
-AC_INIT([xorg-server], 1.13.0, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
-RELEASE_DATE="2012-09-05"
-RELEASE_NAME="Iced Tea"
+AC_INIT([xorg-server], 1.13.0.901, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+RELEASE_DATE="2012-11-22"
+RELEASE_NAME="Puer Tea"
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 AM_MAINTAINER_MODE

commit 395c9e17089a7e4ed46a747904b36b1fec94fab3
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Mon Oct 29 12:57:54 2012 +0100

    EXA: Track source/mask pixmaps more explicitly for Composite fallback regions.
    
    In particular, make sure pExaScr->src/maskPix are cleared when the
    corresponding pictures aren't associated with drawables, i.e. solid or gradient
    pictures. Without this, we would in some cases associate the source/mask region
    with unrelated pixmaps from previous Composite fallbacks, resulting in random
    corruption.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47266
    
    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit 1ca096d5e07221025c4c4110528772b7d94f15ee)

diff --git a/exa/exa_priv.h b/exa/exa_priv.h
index ea7e7fa..2e4759d 100644
--- a/exa/exa_priv.h
+++ b/exa/exa_priv.h
@@ -209,6 +209,7 @@ typedef struct {
     RegionRec srcReg;
     RegionRec maskReg;
     PixmapPtr srcPix;
+    PixmapPtr maskPix;
 
     DevPrivateKeyRec pixmapPrivateKeyRec;
     DevPrivateKeyRec gcPrivateKeyRec;
diff --git a/exa/exa_unaccel.c b/exa/exa_unaccel.c
index 5716138..b0a0011 100644
--- a/exa/exa_unaccel.c
+++ b/exa/exa_unaccel.c
@@ -442,6 +442,13 @@ ExaSrcValidate(DrawablePtr pDrawable,
     RegionPtr dst;
     int xoff, yoff;
 
+    if (pExaScr->srcPix == pPix)
+        dst = &pExaScr->srcReg;
+    else if (pExaScr->maskPix == pPix)
+        dst = &pExaScr->maskReg;
+    else
+        return;
+
     exaGetDrawableDeltas(pDrawable, pPix, &xoff, &yoff);
 
     box.x1 = x + xoff;
@@ -449,8 +456,6 @@ ExaSrcValidate(DrawablePtr pDrawable,
     box.x2 = box.x1 + width;
     box.y2 = box.y1 + height;
 
-    dst = (pExaScr->srcPix == pPix) ? &pExaScr->srcReg : &pExaScr->maskReg;
-
     RegionInit(&reg, &box, 1);
     RegionUnion(dst, dst, &reg);
     RegionUninit(&reg);
@@ -495,16 +500,19 @@ ExaPrepareCompositeReg(ScreenPtr pScreen,
         if (pSrc != pDst)
             RegionTranslate(pSrc->pCompositeClip,
                             -pSrc->pDrawable->x, -pSrc->pDrawable->y);
-    }
+    } else
+        pExaScr->srcPix = NULL;
 
     if (pMask && pMask->pDrawable) {
         pMaskPix = exaGetDrawablePixmap(pMask->pDrawable);
         RegionNull(&pExaScr->maskReg);
         maskReg = &pExaScr->maskReg;
+        pExaScr->maskPix = pMaskPix;
         if (pMask != pDst && pMask != pSrc)
             RegionTranslate(pMask->pCompositeClip,
                             -pMask->pDrawable->x, -pMask->pDrawable->y);
-    }
+    } else
+        pExaScr->maskPix = NULL;
 
     RegionTranslate(pDst->pCompositeClip,
                     -pDst->pDrawable->x, -pDst->pDrawable->y);

commit 1a4ec493bf3d3d14799340c03533cdcd44b841e8
Author: Carlos Garnacho <carlosg@gnome.org>
Date:   Wed Oct 31 19:29:45 2012 +0100

    Xi: Set modifier mask on touch events
    
    Button mask should be out-of-band with the emulated
    pointer events as touch devices don't truly have
    "buttons". Even though, it's handy to have the modifier
    mask from the paired keyboard on touch events.
    
    Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit b4e44b285ed0eee1d06514215a4b01d54f40094b)

diff --git a/Xi/exevents.c b/Xi/exevents.c
index 5cf873c..106da3a 100644
--- a/Xi/exevents.c
+++ b/Xi/exevents.c
@@ -1559,6 +1559,7 @@ ProcessTouchEvent(InternalEvent *ev, DeviceIntPtr dev)
     uint32_t touchid;
     int type = ev->any.type;
     int emulate_pointer = ! !(ev->device_event.flags & TOUCH_POINTER_EMULATED);
+    DeviceIntPtr kbd;
 
     if (!t)
         return;
@@ -1618,6 +1619,10 @@ ProcessTouchEvent(InternalEvent *ev, DeviceIntPtr dev)
     if (emulate_pointer && IsMaster(dev))
         CheckMotion(&ev->device_event, dev);
 
+    kbd = GetMaster(dev, KEYBOARD_OR_FLOAT);
+    event_set_state(NULL, kbd, &ev->device_event);
+    ev->device_event.corestate = event_get_corestate(NULL, kbd);
+
     /* Make sure we have a valid window trace for event delivery; must be
      * called after event type mutation. Touch end events are always processed
      * in order to end touch records. */

commit 2f99b38747e1a74cade10a7a45cee5eaec8ddea7
Author: Carlos Garnacho <carlosg@gnome.org>
Date:   Wed Oct 31 19:32:57 2012 +0100

    Xi: Update the device after delivering the emulated pointer event(#56558)
    
    Ensure emulated pointer events contain the state that applies before the
    event was processed, so the device state must be updated after delivering
    such emulated events.
    
    Co-authored-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit 863f32c930d71073ee5f78452b78bd459d024867)

diff --git a/Xi/exevents.c b/Xi/exevents.c
index 4cbeb37..5cf873c 100644
--- a/Xi/exevents.c
+++ b/Xi/exevents.c
@@ -1568,9 +1568,6 @@ ProcessTouchEvent(InternalEvent *ev, DeviceIntPtr dev)
     else
         touchid = ev->device_event.touchid;
 
-    if (emulate_pointer)
-        UpdateDeviceState(dev, &ev->device_event);
-
     if (type == ET_TouchBegin) {
         ti = TouchBeginTouch(dev, ev->device_event.sourceid, touchid,
                              emulate_pointer);
@@ -1617,6 +1614,7 @@ ProcessTouchEvent(InternalEvent *ev, DeviceIntPtr dev)
      * events which _only_ emulate motion just work normally */
     if (emulate_pointer && ev->any.type != ET_TouchUpdate)
         DeliverEmulatedMotionEvent(dev, ti, ev);
+
     if (emulate_pointer && IsMaster(dev))
         CheckMotion(&ev->device_event, dev);
 
@@ -1641,6 +1639,9 @@ ProcessTouchEvent(InternalEvent *ev, DeviceIntPtr dev)
         if (ev->any.type == ET_TouchEnd)
             TouchEndTouch(dev, ti);
     }
+
+    if (emulate_pointer)
+        UpdateDeviceState(dev, &ev->device_event);
 }
 
 /**

commit 10d9cd36b4966c8e3ea8e791152e1af166224ee8
Author: Carlos Garnacho <carlosg@gnome.org>
Date:   Thu Oct 25 15:03:50 2012 +0200

    Sync TouchListener memory allocation with population in TouchSetupListeners()
    
    The allocated TouchListener array may fall short by 1 if hitting the worst case
    situation where there's an active grab, passive grabs on each window in the
    sprite trace and event selection for touch in one of the windows. This may lead
    to memory corruptions as the array is overflown.
    
    Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit ced56f322ead10d1bc93fcd1f8e0ec3ae51292a3)

diff --git a/dix/touch.c b/dix/touch.c
index e64a626..5f77be5 100644
--- a/dix/touch.c
+++ b/dix/touch.c
@@ -572,8 +572,8 @@ TouchBuildSprite(DeviceIntPtr sourcedev, TouchPointInfoPtr ti,
         return FALSE;
 
     /* Mark which grabs/event selections we're delivering to: max one grab per
-     * window plus the bottom-most event selection. */
-    ti->listeners = calloc(sprite->spriteTraceGood + 1, sizeof(*ti->listeners));
+     * window plus the bottom-most event selection, plus any active grab. */
+    ti->listeners = calloc(sprite->spriteTraceGood + 2, sizeof(*ti->listeners));
     if (!ti->listeners) {
         sprite->spriteTraceGood = 0;
         return FALSE;

commit 835737244f84d34b0b9c5a93560710a2275dcc63
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Oct 18 15:11:31 2012 +1000

    dix: fix zaphod screen scrossing (#54654)
    
    POINTER_SCREEN coordinates are screen-relative. For a Zaphod setup, the
    coordinates after a screen crossing are already relative to the new screen's
    origin. Add that offset to the coordinates before re-setting.
    
    regression introduced by
    commit bafbd99080be49a17be97d2cc758fbe623369945
    Author: Peter Hutterer <peter.hutterer@who-t.net>
    Date:   Wed Aug 8 11:34:32 2012 +1000
    
        dix: work around scaling issues during WarpPointer (#53037)
    
    X.Org Bug 54654 <http://bugs.freedesktop.org/show_bug.cgi?id=54654>
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit e7cd5cce740e653000fb1192b600268dcf77dde2)

diff --git a/dix/getevents.c b/dix/getevents.c
index 71d83c4..8b4379d 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -1400,8 +1400,9 @@ fill_pointer_events(InternalEvent *events, DeviceIntPtr pDev, int type,


Reply to: