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

xorg-server: Changes to 'ubuntu'



 ChangeLog                                  |  476 +++++++++++++++++++++++++++++
 Xi/devbell.c                               |    3 
 Xi/exevents.c                              |   42 +-
 Xi/extinit.c                               |   36 +-
 Xi/xigrabdev.c                             |   15 
 configure.ac                               |   14 
 debian/changelog                           |   60 ++-
 debian/patches/series                      |    1 
 debian/patches/xf86setdesired-hybrid.patch |   44 --
 dix/devices.c                              |    7 
 dix/eventconvert.c                         |   23 -
 dix/getevents.c                            |   15 
 dix/touch.c                                |    4 
 glx/glxdri.c                               |    2 
 glx/glxdri2.c                              |    2 
 hw/kdrive/ephyr/ephyr.c                    |    6 
 hw/kdrive/ephyr/hostx.c                    |    6 
 hw/kdrive/ephyr/hostx.h                    |    3 
 hw/xfree86/common/xf86.h                   |    1 
 hw/xfree86/common/xf86Events.c             |   17 -
 hw/xfree86/common/xf86Init.c               |    2 
 hw/xfree86/common/xf86Xinput.c             |    2 
 hw/xfree86/common/xf86platformBus.c        |   19 +
 hw/xfree86/common/xf86platformBus.h        |    4 
 hw/xfree86/modes/xf86Crtc.c                |    5 
 hw/xfree86/os-support/linux/lnx_platform.c |   48 ++
 hw/xfree86/os-support/solaris/sun_init.c   |    2 
 hw/xfree86/os-support/xf86_OSproc.h        |    3 
 include/dixstruct.h                        |    2 
 include/eventstr.h                         |    1 
 include/hotplug.h                          |    1 
 os/io.c                                    |    1 
 os/log.c                                   |  115 ++++++-
 test/signal-logging.c                      |   95 +++++
 xkb/xkbInit.c                              |    3 
 35 files changed, 903 insertions(+), 177 deletions(-)

New commits:
commit 8f2e389dd5b6fa6bc1e623f175b72f0d3674d4f8
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Tue Jul 16 09:39:35 2013 +0200

    New upstream release. (LP: #1156498)
    
    Remove upstreamed patch.
    - xf86setdesired-hybrid.patch

diff --git a/debian/changelog b/debian/changelog
index e4224df..cdc07ce 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+xorg-server (2:1.14.2-0ubuntu1) saucy; urgency=low
+
+  * New upstream release. (LP: #1156498)
+  * Remove upstreamed patch.
+    - xf86setdesired-hybrid.patch
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Tue, 16 Jul 2013 09:36:06 +0200
+
 xorg-server (2:1.14.2-1) UNRELEASED; urgency=low
 
   [ Maarten Lankhorst ]
diff --git a/debian/patches/series b/debian/patches/series
index 0606467..22b1497 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -19,7 +19,6 @@
 xfree86-no-xv-for-gpuscreens.patch
 xephyr-glx-register.patch
 no-nv.patch
-xf86setdesired-hybrid.patch
 
 ## waiting for review by upstream
 111_armel-drv-fallbacks.patch
diff --git a/debian/patches/xf86setdesired-hybrid.patch b/debian/patches/xf86setdesired-hybrid.patch
deleted file mode 100644
index 037556e..0000000
--- a/debian/patches/xf86setdesired-hybrid.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Subject: [PATCH] hw/xfree86: Allow xf86SetDesiredModes to succeed if no crtc's are enabled.
-From: Maarten Lankhorst <maarten.lankhorst@canonical.com>
-
-Fixes regression on xserver 1.14 introduced by 6703a7c7cf1a.
-"hw/xfree86: Require only one working CRTC to start the server."
-
-https://bugs.freedesktop.org/show_bug.cgi?id=62916
-
-Without any crtc's enabled, 1.13 worked correctly, but the logic in
-xf86SetDesiredModes will now return false instead. Fix this to
-return success if all outputs were already disabled.
-
-Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
----
-diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
-index f9ae465..eb72f0e 100644
---- a/hw/xfree86/modes/xf86Crtc.c
-+++ b/hw/xfree86/modes/xf86Crtc.c
-@@ -2599,7 +2599,7 @@ xf86SetDesiredModes(ScrnInfoPtr scrn)
-     xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
-     xf86CrtcPtr crtc = config->crtc[0];
-     int c;
--    int enabled = 0;
-+    int enabled = 0, failed = 0;
- 
-     /* A driver with this hook will take care of this */
-     if (!crtc->funcs->set_mode_major) {
-@@ -2659,11 +2659,12 @@ xf86SetDesiredModes(ScrnInfoPtr scrn)
-                 if (config->output[o]->crtc == crtc)
-                     config->output[o]->crtc = NULL;
-             crtc->enabled = FALSE;
--	}
-+            failed++;
-+        }
-     }
- 
-     xf86DisableUnusedFunctions(scrn);
--    return enabled != 0;
-+    return enabled != 0 || !failed;
- }
- 
- /**
-
-

commit f0b7e86a782cf763a9ce629892afeb4f487163e8
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Tue Jul 16 09:34:42 2013 +0200

    bump changelogs

diff --git a/ChangeLog b/ChangeLog
index eda3cd5..3ce76d4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,479 @@
+commit 2767d9a17d62aede7cabac589c3388078bdb6022
+Author: Matt Dew <marcoz@osource.org>
+Date:   Tue Jun 25 09:49:08 2013 -0600
+
+    Bump rev from  1.14.1.902  to 1.14.2
+
+commit 7dec1d38799d82923e3241f73c83aa1ad357f72b
+Author: Matt Dew <marcoz@osource.org>
+Date:   Fri Jun 21 10:24:16 2013 -0600
+
+    Revert "dix: pre-scale x by the screen:device:resolution ratio"
+    
+    This reverts commit 14d89b9a466b521b985bc95fc4994637367362a8.
+
+commit 187cb5a037a03ab1e7702da5eebb2e7d884c6186
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date:   Wed Apr 24 15:24:31 2013 -0700
+
+    Only call xf86platformVTProbe() when it's defined
+    
+    Fixes build on non-udev systems, since XSERVER_PLATFORM_BUS is only
+    defined in configure.ac if $CONFIG_UDEV_KMS is true.
+    
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    Reviewed-by: Dave Airlie <airlied@redhat.com>
+
+commit 34259752340e287333fb03f3060c6db13d72f868
+Author: Matt Dew <marcoz@osource.org>
+Date:   Thu Jun 13 16:25:26 2013 -0600
+
+    Bump rev from 1.14.1.901 to 1.14.1.902
+
+commit 31e066546fd085725cc29e95867a04c70ce46ebc
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Fri Apr 26 15:10:08 2013 +1000
+
+    dix: fix device scaling to use a [min,max[ range.
+    
+    defmin/defmax are screen coords and thus use a min-inclusive, max-exclusive
+    range. device axes ranges are inclusive, so bump the max up by one to get the
+    scaling right.
+    
+    This fixes off-by-one coordinate errors if the coordinate matrix is used to
+    bind the device to a fraction of the screen. It introduces an off-by-one
+    scaling error in the device coordinate range, but since most devices have a
+    higher resolution than the screen (e.g. a Wacom I4 has 5080 dpi) the effect
+    of this should be limited.
+    
+    This error manifests when we have numScreens > 1, as the scaling from
+    desktop size back to screen size drops one device unit.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    (cherry picked from commit 756ab88d93542f0589c9bf46f40ccc57df64f0fd)
+
+commit 14d89b9a466b521b985bc95fc4994637367362a8
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Sat Mar 9 20:43:51 2013 +1000
+
+    dix: pre-scale x by the screen:device:resolution ratio
+    
+    commit 61a99aff9d33728a0b67920254d2d4d79f80cf39
+        dix: pre-scale relative events from abs devices to desktop ratio (#31636)
+    
+    added pre-scaling of relative coordinates coming from absolute devices to
+    undo uneven scaling based on the screen dimensions.
+    
+    Devices have their own device width/height ratio as well (in a specific
+    resolution) and this must be applied for relative devices as well to avoid
+    scaling of the relative events into the device's ratio.
+    
+    e.g. a Wacom Intuos4 6x9 is in 16:10 format with equal horiz/vert
+    resolution (dpi). A movement by 1000/1000 coordinates is a perfect diagonal
+    on the tablet and must be reflected as such on the screen.
+    
+    However, we map the relative device-coordinate events to absolute screen
+    coordinates based on the axis ranges. This results in an effective scaling
+    of 1000/(1000 * 1.6) and thus an uneven x/y axis movement - the y
+    axis is always faster.
+    
+    So we need to pre-scale not only by the desktop dimenstions but also by the
+    device width/height ratio _and_ the resolution ratio.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    (cherry picked from commit 5cc2c96f824dbb28b9f8da61efc41596f8bd0561)
+
+commit 57f6dbb3032b934a39c15cd1980b345f477ce1e6
+Author: Robert Morell <rmorell@nvidia.com>
+Date:   Thu May 9 13:09:02 2013 -0700
+
+    os: Reset input buffer's 'ignoreBytes' field
+    
+    If a client sends a request larger than maxBigRequestSize, the server is
+    supposed to ignore it.
+    
+    Before commit cf88363d, the server would simply disconnect the client.  After
+    that commit, it attempts to gracefully ignore the request by remembering how
+    long the client specified the request to be, and ignoring that many bytes.
+    However, if a client sends a BigReq header with a large size and disconnects
+    before actually sending the rest of the specified request, the server will
+    reuse the ConnectionInput buffer without resetting the ignoreBytes field.  This
+    makes the server ignore new X clients' requests.
+    
+    This fixes that behavior by resetting the ignoreBytes field when putting the
+    ConnectionInput buffer back on the FreeInputs list.
+    
+    Signed-off-by: Robert Morell <rmorell@nvidia.com>
+    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    (cherry picked from commit 67c66606c760c263d7a4c2d1bba43ed6225a4e7c)
+
+commit 8cc686735296f1ff32089e64f78dfee46b8e7149
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Thu May 9 14:30:49 2013 +1000
+
+    dix: don't overwrite proximity/focus classes
+    
+    InitPointerClassDeviceStruct/InitKeyboardDeviceStruct allocate a
+    proximity/focus class, respectively. If a driver calls
+    InitFocusClassDeviceStruct or InitProximityClassDeviceStruct beforehand,
+    the previously allocated class is overwritten, leaking the memory.
+    
+    Neither takes a parameter other than the device, so we can simply skip
+    initialising it if we already have one.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Reviewed-by: Dave Airlie <airlied@redhat.com>
+    (cherry picked from commit 8a88b0ab52ba375ae84463a90503db88af10e368)
+
+commit bf115aa906795df872104083c1187c126c3b1d76
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Wed Apr 17 19:47:42 2013 +1000
+
+    dix: plug memory leak in freeing TouchClass
+    
+    ==15562== 1,800 bytes in 1 blocks are definitely lost in loss record 298 of 330
+    ==15562==    at 0x4A06B6F: calloc (vg_replace_malloc.c:593)
+    ==15562==    by 0x4312C7: InitTouchClassDeviceStruct (devices.c:1644)
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    (cherry picked from commit 7d722796c678532e8c5897c673c43184da353f44)
+
+commit 6abc41689cfd274f5aa8bdfbfcd4e3dd7d0249fa
+Author: Matt Dew <marcoz@osource.org>
+Date:   Fri May 31 00:06:34 2013 -0600
+
+    bah,  fixed release version: changed from rc1 to 1.901
+
+commit 27c30396bf7ff16192fe5e17c6fe04ee58ee398b
+Author: Matt Dew <marcoz@osource.org>
+Date:   Thu May 30 22:34:17 2013 -0600
+
+    bump release info to 1.14.2-rc1 (from 1.14.1)
+
+commit bcc8eba00b57a63255e05bf80bad0cb95a5a5c3e
+Author: Andreas Müller <schnitzeltony@googlemail.com>
+Date:   Tue Apr 16 14:30:43 2013 +0200
+
+    dixstruct.h: fix segfaults - char is unsigned for ARM and PowerPC architectures
+    
+    see ARM related bug reports [1-3]
+    
+    [1] https://github.com/archlinuxarm/PKGBUILDs/issues/446I
+    [2] http://www.raspberrypi.org/phpBB3/viewtopic.php?t=38568&p=321673
+    [3] http://lists.linuxtogo.org/pipermail/openembedded-core/2013-April/037805.html
+    
+    Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+    Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit a01839e8d3675abfef871a42415779961f1ee51c
+Merge: 348de79 e90beb1
+Author: Matt Dew <marcoz@osource.org>
+Date:   Thu May 23 22:08:23 2013 -0600
+
+    Merge branch 'server-1.14-branch' of git://people.freedesktop.org/~whot/xserver into server-1.14-branch
+
+commit 348de79d8c3993577912c7aaf891b7ae702ad32d
+Merge: a11cf8d c760fb0
+Author: Matt Dew <marcoz@osource.org>
+Date:   Thu May 23 14:49:33 2013 -0600
+
+    Merge commit 'c760fb0154848d47438908ba8b3da2fffc68a460' into server-1.14-branch
+
+commit e90beb18000cf49b9108c4f977abfd111ed908ad
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Tue Apr 30 15:44:37 2013 +1000
+
+    os: Use ErrorFSigSafe from FatalError and it's friends
+    
+    Backtrace logging etc. is already sigsafe, but the actual FatalError message
+    in response is not yet, leading to amusing logs like this:
+    
+        (EE) Segmentation fault at address 0x0
+        (EE) BUG: triggered 'if (inSignalContext)'
+        (EE) BUG: log.c:499 in LogVMessageVerb()
+        (EE) Warning: attempting to log data in a signal unsafe manner while in
+        signal context.
+        Please update to check inSignalContext and/or use LogMessageVerbSigSafe() or
+        ErrorFSigSafe().
+        The offending log format message is:
+    
+        Fatal server error:
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Reviewed-by: Keith Packard <keithp@keithp.com>
+    (cherry picked from commit 042c6d861f7bb7038ddcdd6b59766fd9094d0e52)
+
+commit d0725a0b8672465cc4d3b85fb705ddb64d020476
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Thu Feb 14 16:24:53 2013 +1000
+
+    os: complain about unsupported pnprintf directives
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Reviewed-by: Keith Packard <keithp@keithp.com>
+    (cherry picked from commit d9848fb4b182ca21bacf28ed7410d1a502cb000e)
+
+commit 7eb73779a0c82386710c4b670a342c0340485d19
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Thu Feb 14 16:19:34 2013 +1000
+
+    os: support %c in pnprintf
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Reviewed-by: Keith Packard <keithp@keithp.com>
+    (cherry picked from commit d903d17d7f006fa333265b8476063b189c20d082)
+
+commit 6da756fb1d67d6de99077826a3d2434b0e3a1555
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Thu Feb 14 16:13:22 2013 +1000
+
+    os: support %% in pnprintf
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Reviewed-by: Keith Packard <keithp@keithp.com>
+    (cherry picked from commit 58ef34ee6d0f68aa28f6f1a26e56f49ec85ed9bf)
+
+commit b606767f20c566e24704502eae682eacb41f450e
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Thu Feb 14 15:34:32 2013 +1000
+
+    os: support pnprintf length modifiers for integers
+    
+    Mainly for %ld, smaller than int is propagated anyway, and %lld isn't really
+    used.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Reviewed-by: Keith Packard <keithp@keithp.com>
+    (cherry picked from commit 5ea21560dd071ea4ab87430000d087fd5fe1f092)
+
+commit 00b8d11dafdbd1214695e0b54c6c2184ece6aa4d
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Mon Feb 18 14:57:58 2013 +1000
+
+    os: document pnprintf as sigsafe snprintf
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    (cherry picked from commit 44fc062f85df7288c17d2d64b73aa4957b91fd6d)
+
+commit 8318d6a89cb3ffad5c90670027ef997fd19994a1
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Fri Feb 1 09:06:20 2013 +1000
+
+    If neither HAL nor udev backends are enabled, warn the user
+    
+    If both are missing,  input device hotplugging will not work out of the box.
+    While we still have a DBus-API or the user may want to set AAD off all the
+    time, the most likely source of this is misconfiguration (i.e. lack of the
+    udev/hal devel packages).
+    
+    Message printed last to make it more obvious to the user.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Reviewed-by: Keith Packard <keithp@keithp.com>
+    (cherry picked from commit 623981ddaeb8836f3b0939e527c0e943f9c4e974)
+
+commit 1c215f5a9c7f8a75ad56f3b34b0b7de2ee9aa6ff
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Thu Mar 14 11:07:57 2013 +1000
+
+    dix: send the current axis value in DeviceChangedEvents (#62321)
+    
+    X.Org Bug 62321 <http://bugs.freedesktop.org/show_bug.cgi?id=62321>
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Reviewed-by: Keith Packard <keithp@keithp.com>
+    (cherry picked from commit 23d1bc69f305edd5a6e2cfec3dfc84befda0881c)
+
+commit 70236f770c7004016efe89dc5638ccbb9ef15bee
+Author: Daniel Martin <consume.noise@gmail.com>
+Date:   Thu Dec 20 13:50:17 2012 +0100
+
+    ephyr: Fix crash on 24bpp host framebuffer
+    
+    Use bytes_per_line and bits_per_pixel from the created XImage to fix
+        https://bugzilla.redhat.com/show_bug.cgi?id=518960
+    
+    Signed-off-by: Daniel Martin <consume.noise@gmail.com>
+    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    (cherry picked from commit bd58ebe4cf3b0ce60f87fb26a3715f774dabd349)
+
+commit a11cf8dd68275ba4676888e5957bff13efbfbb3d
+Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
+Date:   Mon Apr 15 16:53:48 2013 +0200
+
+    dix: copy event in TouchConvertToPointerEvent correctly
+    
+    Fixes reading random memory read beyond the end of original event.
+    
+    sizeof device_event: 424
+    sizeof internal_event: 2800
+    
+    Signed-off-by: Maarten Lankhorst <maarten.lankhorst@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 98b94c36d6b1d286bbd4cb414e54b4b95a1484b0)
+
+commit 05ca549d81f476561257076f354c781d590c9a4f
+Author: Knut Petersen <Knut_Petersen@t-online.de>
+Date:   Tue Feb 26 07:52:59 2013 +0100
+
+    Never try to execute BellProcPtr NULL.
+    
+    This prevents xts XI/XDeviceBell-2 test
+    from segfaulting the server.
+    
+    Signed-off-by: Knut Petersen <Knut_Petersen@t-online.de>
+    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    (cherry picked from commit 4bff442ec5aa4b93a3f5c11782d4b7b9d1ae13ac)
+
+commit 2cc81338d1804a6a6c92f48773d3e1b2543a262b
+Author: Rui Matos <tiagomatos@gmail.com>
+Date:   Sat Apr 13 04:22:54 2013 +0200
+
+    Xi: fix swapped grab mode args for keyboard devices in XIGrabDevice
+    
+    The protocol says that the grab_mode argument applies to the device
+    being grabbed and paired_device_mode to the paired master
+    device. GrabDevice() however takes in a pointer mode and a keyboard
+    mode and so we have to swap the values according the type of device
+    being grabbed.
+    
+    Signed-off-by: Rui Matos <tiagomatos@gmail.com>
+    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    (cherry picked from commit 9003399708936481083424b4ff8f18a16b88b7b3)
+
+commit 08998230789ff15843f726d7231ec0de2f67be6b
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Fri Apr 12 09:14:53 2013 +1000
+
+    xfree86: change a log message
+    
+    This path is technically executed through config/udev, but having two
+    messages in the form "config/udev: Adding drm device" makes it appear as if
+    the udev filters are wrong and it's trying to add the same device twice. In
+    fact, it's only one device, only added once, but a duplicate log message.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Reviewed-by: Dave Airlie <airlied@redhat.com>
+    (cherry picked from commit 131f883f85b9b734e5e5652f16ba1d3b5f4de12f)
+
+commit 2c9ac2689fc75cfa3293316acd51b9a39f37edfd
+Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
+Date:   Tue Apr 9 11:19:07 2013 +0200
+
+    Xi: Do not handle ET_TouchOwnership in ProcessTouchEvent
+    
+    The event struct is different, causing memory corruption on 1.13 and 1.14,
+    
+    as can be witnessed in https://bugs.freedesktop.org/show_bug.cgi?id=56578
+    
+    Signed-off-by: Maarten Lankhorst <maarten.lankhorst@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 7347f39f94d8cebbf73ce1a2f94d1abdaf7ff383)
+
+commit 0a3630708b729a02cefc342456b243254f5b699d
+Author: Keith Packard <keithp@keithp.com>
+Date:   Tue Apr 9 16:23:19 2013 -0700
+
+    Xi: Use correct destination when swapping barrier events
+    
+    Write the swapped values to the destination rather than the source.
+    
+    Signed-off-by: Keith Packard <keithp@keithp.com>
+    Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    (cherry picked from commit dbba50a1280cbda9ecff6f37884b4c5756c30bab)
+
+commit 9ad9c1358567998564d177f06d98fc46dcb41009
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Mon Mar 4 07:58:41 2013 +1000
+
+    dix: don't set non-exisiting flags on touch events
+    
+    Unlike pointer/keyboard events, the flags field for ET_Touch* is a set of
+    server-internal defines that we need to convert to XI protocol defines.
+    Currently only two of those defines actually translate to the protocol, so
+    make sure we don't send internal garbage down the wire.
+    
+    No effect to current clients since they shouldn't look at undefined bits
+    anyway.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    (cherry picked from commit b86b3d10bb2fee1a922b8831e8bb415c339f3d99)
+
+commit c760fb0154848d47438908ba8b3da2fffc68a460
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Jan 10 03:26:33 2013 +0000
+
+    hw/xfree86: Only report SetDesiredModes() failed if at least one modeset fails
+    
+    commit 6703a7c7cf1a349c137e247a0c8eb462ff7b07be
+    Author: Keith Packard <keithp@keithp.com>
+    Date:   Tue Jan 8 20:24:32 2013 -0800
+    
+        hw/xfree86: Require only one working CRTC to start the server.
+    
+    changed the logic to try to set the mode on all connected outputs rather
+    than abort upon the first failure. The return error code was then
+    tweaked such that it reported success if it set a mode on any crtc.
+    However, this confuses the headless case where we never enable any crtcs
+    and also, importantly, never fail to set a crtc.
+    
+    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59190
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+    Also-written-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
+    Reviewed-by: Keith Packard <keithp@keithp.com>
+    Signed-off-by: Keith Packard <keithp@keithp.com>
+    (cherry picked from commit 451ba4bd41b82acd4aec6236ba121e00cfeb311b)
+
+commit 5c296c32d9486201c0fbb51e905dd3f8542c4d88
+Author: Dave Airlie <airlied@gmail.com>
+Date:   Wed Apr 10 16:32:15 2013 +1000
+
+    xf86: don't hotplug output devices while VT switched.
+    
+    We don't want to hotplug output devices while we are VT switched,
+    as we get races between multiple X servers on the device open, and
+    drm device master status. This just queues device opens until we return
+    from VT switch.
+    
+    Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+    (cherry picked from commit 22cab8a28a433d03a4e6ba97f9a160271d73cb52)
+
+commit 39ce034505b6526b5c945a6f44a34e020a22d187
+Author: Dave Airlie <airlied@gmail.com>
+Date:   Wed Apr 10 16:32:11 2013 +1000
+
+    xf86: use new xf86VTOwner interface in a few places
+    
+    This replaces some previous uses of direct xf86Screens[0] accesses.
+    
+    Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
+    Signed-off-by: Dave Airlie <airlied@gmail.com>
+    (cherry picked from commit 5b359cf6135ca173d8f65cb92926332f07f91efe)
+
+commit 92135056375fe9a2b637487dd4a9274ab6dd338d
+Author: Dave Airlie <airlied@gmail.com>
+Date:   Wed Apr 10 16:32:02 2013 +1000
+
+    xfree86: add VT owner interface
+    
+    This is just a simple interface to avoid accessing x86Screens[0]
+    directly.
+    
+    Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
+    Signed-off-by: Dave Airlie <airlied@gmail.com>
+    (cherry picked from commit d61ea1f64db45201c1a2b39c39293c5768d98092)
+
 commit f5796f98dadccf67c04f601178966614dd51a1b4
 Author: Peter Hutterer <peter.hutterer@who-t.net>
 Date:   Wed Apr 17 16:12:00 2013 +1000
diff --git a/debian/changelog b/debian/changelog
index f74663d..f518cf7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xorg-server (2:1.14.1-1) UNRELEASED; urgency=low
+xorg-server (2:1.14.2-1) UNRELEASED; urgency=low
 
   [ Maarten Lankhorst ]
   * New upstream release

commit 2767d9a17d62aede7cabac589c3388078bdb6022
Author: Matt Dew <marcoz@osource.org>
Date:   Tue Jun 25 09:49:08 2013 -0600

    Bump rev from  1.14.1.902  to 1.14.2

diff --git a/configure.ac b/configure.ac
index b977b54..99e3cd6 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.14.1.902, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
-RELEASE_DATE="2013-06-13"
-RELEASE_NAME="Act rc2-Normal"
+AC_INIT([xorg-server], 1.14.2, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+RELEASE_DATE="2013-06-25"
+RELEASE_NAME="Act Abnormal"
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 

commit 7dec1d38799d82923e3241f73c83aa1ad357f72b
Author: Matt Dew <marcoz@osource.org>
Date:   Fri Jun 21 10:24:16 2013 -0600

    Revert "dix: pre-scale x by the screen:device:resolution ratio"
    
    This reverts commit 14d89b9a466b521b985bc95fc4994637367362a8.

diff --git a/dix/getevents.c b/dix/getevents.c
index 51d4fd4..dfe4652 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -770,29 +770,6 @@ add_to_scroll_valuator(DeviceIntPtr dev, ValuatorMask *mask, int valuator, doubl
 }
 
 
-static void
-scale_for_device_resolution(DeviceIntPtr dev, ValuatorMask *mask)
-{
-    double x;
-    ValuatorClassPtr v = dev->valuator;
-    int xrange = v->axes[0].max_value - v->axes[0].min_value + 1;
-    int yrange = v->axes[1].max_value - v->axes[1].min_value + 1;
-
-    double screen_ratio = 1.0 * screenInfo.width/screenInfo.height;
-    double device_ratio = 1.0 * xrange/yrange;
-    double resolution_ratio = 1.0;
-    double ratio;
-
-    if (!valuator_mask_fetch_double(mask, 0, &x))
-        return;
-
-    if (v->axes[0].resolution != 0 && v->axes[1].resolution != 0)
-        resolution_ratio = 1.0 * v->axes[0].resolution/v->axes[1].resolution;
-
-    ratio = device_ratio/resolution_ratio/screen_ratio;
-    valuator_mask_set_double(mask, 0, x * ratio);
-}
-
 /**
  * Move the device's pointer by the values given in @valuators.
  *
@@ -804,14 +781,27 @@ moveRelative(DeviceIntPtr dev, int flags, ValuatorMask *mask)
 {
     int i;
     Bool clip_xy = IsMaster(dev) || !IsFloating(dev);
-    ValuatorClassPtr v = dev->valuator;
 
     /* for abs devices in relative mode, we've just scaled wrong, since we
        mapped the device's shape into the screen shape. Undo this. */
-    if ((flags & POINTER_ABSOLUTE) == 0 && v && v->numAxes > 1 &&
-        v->axes[0].min_value < v->axes[0].max_value &&
-        v->axes[1].min_value < v->axes[1].max_value) {
-        scale_for_device_resolution(dev, mask);
+    if ((flags & POINTER_ABSOLUTE) == 0 && dev->valuator &&
+        dev->valuator->axes[0].min_value < dev->valuator->axes[0].max_value) {
+
+        double ratio = 1.0 * screenInfo.width/screenInfo.height;
+
+        if (ratio > 1.0) {
+            double y;
+            if (valuator_mask_fetch_double(mask, 1, &y)) {
+                y *= ratio;
+                valuator_mask_set_double(mask, 1, y);
+            }
+        } else {
+            double x;
+            if (valuator_mask_fetch_double(mask, 0, &x)) {
+                x *= ratio;
+                valuator_mask_set_double(mask, 0, x);
+            }
+        }
     }
 
     /* calc other axes, clip, drop back into valuators */

commit 187cb5a037a03ab1e7702da5eebb2e7d884c6186
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Wed Apr 24 15:24:31 2013 -0700

    Only call xf86platformVTProbe() when it's defined
    
    Fixes build on non-udev systems, since XSERVER_PLATFORM_BUS is only
    defined in configure.ac if $CONFIG_UDEV_KMS is true.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
    Reviewed-by: Dave Airlie <airlied@redhat.com>

diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c
index 7a35250..2a05a0e 100644
--- a/hw/xfree86/common/xf86Events.c
+++ b/hw/xfree86/common/xf86Events.c
@@ -562,8 +562,10 @@ xf86VTSwitch(void)
         for (ih = InputHandlers; ih; ih = ih->next)
             xf86EnableInputHandler(ih);
 
+#ifdef XSERVER_PLATFORM_BUS
         /* check for any new output devices */
         xf86platformVTProbe();
+#endif
 
         OsReleaseSIGIO();
     }

commit 34259752340e287333fb03f3060c6db13d72f868
Author: Matt Dew <marcoz@osource.org>
Date:   Thu Jun 13 16:25:26 2013 -0600

    Bump rev from 1.14.1.901 to 1.14.1.902

diff --git a/configure.ac b/configure.ac
index b31559d..b977b54 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.14.1.901, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
-RELEASE_DATE="2013-05-30"
-RELEASE_NAME="Act rc1-Normal"
+AC_INIT([xorg-server], 1.14.1.902, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+RELEASE_DATE="2013-06-13"
+RELEASE_NAME="Act rc2-Normal"
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 

commit 31e066546fd085725cc29e95867a04c70ce46ebc
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Apr 26 15:10:08 2013 +1000

    dix: fix device scaling to use a [min,max[ range.
    
    defmin/defmax are screen coords and thus use a min-inclusive, max-exclusive
    range. device axes ranges are inclusive, so bump the max up by one to get the
    scaling right.
    
    This fixes off-by-one coordinate errors if the coordinate matrix is used to
    bind the device to a fraction of the screen. It introduces an off-by-one
    scaling error in the device coordinate range, but since most devices have a
    higher resolution than the screen (e.g. a Wacom I4 has 5080 dpi) the effect
    of this should be limited.
    
    This error manifests when we have numScreens > 1, as the scaling from
    desktop size back to screen size drops one device unit.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit 756ab88d93542f0589c9bf46f40ccc57df64f0fd)

diff --git a/dix/devices.c b/dix/devices.c
index b2db4aa..a0d545a 100644
--- a/dix/devices.c
+++ b/dix/devices.c
@@ -112,8 +112,8 @@ DeviceSetTransform(DeviceIntPtr dev, float *transform_data)
      *  Transform is the user supplied (affine) transform
      *  InvScale scales coordinates back up into their native range
      */
-    sx = dev->valuator->axes[0].max_value - dev->valuator->axes[0].min_value;
-    sy = dev->valuator->axes[1].max_value - dev->valuator->axes[1].min_value;
+    sx = dev->valuator->axes[0].max_value - dev->valuator->axes[0].min_value + 1;
+    sy = dev->valuator->axes[1].max_value - dev->valuator->axes[1].min_value + 1;
 
     /* invscale */
     pixman_f_transform_init_scale(&scale, sx, sy);
diff --git a/dix/getevents.c b/dix/getevents.c
index ac0ccb2..51d4fd4 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -298,11 +298,11 @@ rescaleValuatorAxis(double coord, AxisInfoPtr from, AxisInfoPtr to,
 
     if (from && from->min_value < from->max_value) {
         fmin = from->min_value;
-        fmax = from->max_value;
+        fmax = from->max_value + 1;
     }
     if (to && to->min_value < to->max_value) {
         tmin = to->min_value;
-        tmax = to->max_value;
+        tmax = to->max_value + 1;
     }
 
     if (fmin == tmin && fmax == tmax)
@@ -924,9 +924,9 @@ scale_to_desktop(DeviceIntPtr dev, ValuatorMask *mask,
 
     /* scale x&y to desktop coordinates */
     *screenx = rescaleValuatorAxis(x, dev->valuator->axes + 0, NULL,
-                                   screenInfo.x, screenInfo.width - 1);
+                                   screenInfo.x, screenInfo.width);
     *screeny = rescaleValuatorAxis(y, dev->valuator->axes + 1, NULL,
-                                   screenInfo.y, screenInfo.height - 1);
+                                   screenInfo.y, screenInfo.height);
 
     *devx = x;
     *devy = y;
@@ -1366,6 +1366,12 @@ QueuePointerEvents(DeviceIntPtr device, int type,
  * is the last coordinate on the first screen and must be rescaled for the
  * event to be m. XI2 clients that do their own coordinate mapping would
  * otherwise interpret the position of the device elsewere to the cursor.
+ * However, this scaling leads to losses:
+ * if we have two ScreenRecs we scale from e.g. [0..44704]  (Wacom I4) to
+ * [0..2048[. that gives us 2047.954 as desktop coord, or the per-screen
+ * coordinate 1023.954. Scaling that back into the device coordinate range
+ * gives us 44703. So off by one device unit. It's a bug, but we'll have to
+ * live with it because with all this scaling, we just cannot win.
  *
  * @return the number of events written into events.
  */

commit 14d89b9a466b521b985bc95fc4994637367362a8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Sat Mar 9 20:43:51 2013 +1000

    dix: pre-scale x by the screen:device:resolution ratio
    
    commit 61a99aff9d33728a0b67920254d2d4d79f80cf39
        dix: pre-scale relative events from abs devices to desktop ratio (#31636)
    
    added pre-scaling of relative coordinates coming from absolute devices to
    undo uneven scaling based on the screen dimensions.
    
    Devices have their own device width/height ratio as well (in a specific
    resolution) and this must be applied for relative devices as well to avoid
    scaling of the relative events into the device's ratio.
    
    e.g. a Wacom Intuos4 6x9 is in 16:10 format with equal horiz/vert
    resolution (dpi). A movement by 1000/1000 coordinates is a perfect diagonal
    on the tablet and must be reflected as such on the screen.
    
    However, we map the relative device-coordinate events to absolute screen
    coordinates based on the axis ranges. This results in an effective scaling
    of 1000/(1000 * 1.6) and thus an uneven x/y axis movement - the y
    axis is always faster.
    
    So we need to pre-scale not only by the desktop dimenstions but also by the
    device width/height ratio _and_ the resolution ratio.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit 5cc2c96f824dbb28b9f8da61efc41596f8bd0561)

diff --git a/dix/getevents.c b/dix/getevents.c
index 241c7ec..ac0ccb2 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -770,6 +770,29 @@ add_to_scroll_valuator(DeviceIntPtr dev, ValuatorMask *mask, int valuator, doubl
 }
 
 
+static void
+scale_for_device_resolution(DeviceIntPtr dev, ValuatorMask *mask)
+{
+    double x;
+    ValuatorClassPtr v = dev->valuator;
+    int xrange = v->axes[0].max_value - v->axes[0].min_value + 1;
+    int yrange = v->axes[1].max_value - v->axes[1].min_value + 1;
+
+    double screen_ratio = 1.0 * screenInfo.width/screenInfo.height;
+    double device_ratio = 1.0 * xrange/yrange;
+    double resolution_ratio = 1.0;
+    double ratio;
+
+    if (!valuator_mask_fetch_double(mask, 0, &x))
+        return;
+
+    if (v->axes[0].resolution != 0 && v->axes[1].resolution != 0)
+        resolution_ratio = 1.0 * v->axes[0].resolution/v->axes[1].resolution;
+
+    ratio = device_ratio/resolution_ratio/screen_ratio;
+    valuator_mask_set_double(mask, 0, x * ratio);
+}
+
 /**
  * Move the device's pointer by the values given in @valuators.
  *
@@ -781,27 +804,14 @@ moveRelative(DeviceIntPtr dev, int flags, ValuatorMask *mask)
 {
     int i;
     Bool clip_xy = IsMaster(dev) || !IsFloating(dev);
+    ValuatorClassPtr v = dev->valuator;
 
     /* for abs devices in relative mode, we've just scaled wrong, since we
        mapped the device's shape into the screen shape. Undo this. */
-    if ((flags & POINTER_ABSOLUTE) == 0 && dev->valuator &&
-        dev->valuator->axes[0].min_value < dev->valuator->axes[0].max_value) {
-
-        double ratio = 1.0 * screenInfo.width/screenInfo.height;
-
-        if (ratio > 1.0) {
-            double y;
-            if (valuator_mask_fetch_double(mask, 1, &y)) {
-                y *= ratio;
-                valuator_mask_set_double(mask, 1, y);
-            }
-        } else {
-            double x;
-            if (valuator_mask_fetch_double(mask, 0, &x)) {
-                x *= ratio;
-                valuator_mask_set_double(mask, 0, x);
-            }
-        }
+    if ((flags & POINTER_ABSOLUTE) == 0 && v && v->numAxes > 1 &&
+        v->axes[0].min_value < v->axes[0].max_value &&
+        v->axes[1].min_value < v->axes[1].max_value) {
+        scale_for_device_resolution(dev, mask);
     }
 
     /* calc other axes, clip, drop back into valuators */

commit 57f6dbb3032b934a39c15cd1980b345f477ce1e6
Author: Robert Morell <rmorell@nvidia.com>
Date:   Thu May 9 13:09:02 2013 -0700

    os: Reset input buffer's 'ignoreBytes' field
    
    If a client sends a request larger than maxBigRequestSize, the server is
    supposed to ignore it.
    
    Before commit cf88363d, the server would simply disconnect the client.  After
    that commit, it attempts to gracefully ignore the request by remembering how
    long the client specified the request to be, and ignoring that many bytes.
    However, if a client sends a BigReq header with a large size and disconnects
    before actually sending the rest of the specified request, the server will
    reuse the ConnectionInput buffer without resetting the ignoreBytes field.  This
    makes the server ignore new X clients' requests.
    
    This fixes that behavior by resetting the ignoreBytes field when putting the
    ConnectionInput buffer back on the FreeInputs list.
    
    Signed-off-by: Robert Morell <rmorell@nvidia.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit 67c66606c760c263d7a4c2d1bba43ed6225a4e7c)

diff --git a/os/io.c b/os/io.c
index 2f091c4..0d980ab 100644
--- a/os/io.c
+++ b/os/io.c
@@ -1063,6 +1063,7 @@ FreeOsBuffers(OsCommPtr oc)
             oci->bufptr = oci->buffer;
             oci->bufcnt = 0;
             oci->lenLastReq = 0;
+            oci->ignoreBytes = 0;
         }
     }
     if ((oco = oc->output)) {

commit 8cc686735296f1ff32089e64f78dfee46b8e7149
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 9 14:30:49 2013 +1000


Reply to: