commit 10c42f5752d790f745572a3f9fbd2ad7686e1372
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Apr 17 15:50:48 2013 +1000

    xserver 1.13.4
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8039b6b7a31f6cf75fcbe4e472d8e9544808396c
Author: Dave Airlie <airlied@gmail.com>
Date:   Wed Apr 10 16:09:01 2013 +1000

    xf86: fix flush input to work with Linux evdev devices.
    
    So when we VT switch back and attempt to flush the input devices,
    we don't succeed because evdev won't return part of an event,
    since we were only asking for 4 bytes, we'd only get -EINVAL back.
    
    This could later cause events to be flushed that we shouldn't have
    gotten.
    
    This is a fix for CVE-2013-1940.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit 6ca03b9161d33b1d2b55a3a1a913cf88deb2343f)

commit 87d7e3e3525a9bcfa08d64ee2a83341e19140db7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Dec 18 14:12:40 2012 +1000

    dix: only show the cursor if a window defines one (#58398)
    
    e02f864fdf "Suppress cursor display until the first XDefineCursor() request"
    disabled cursor display a priori unless -retro is given.
    
    On a plain server, caling XFixesHideCursor() and XFixesShowCursor() would
    show the default root cursor, despite no client actually defining a cursor.
    
    Change the logic, disable CursorVisible by default and only enable it from
    the window's CWCursor logic. If no window ever defines a cursor, said cursor
    stays invisible.
    
    X.Org Bug 58398 <http://bugs.freedesktop.org/show_bug.cgi?id=58398>
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Bastien Nocera <hadess@hadess.net>
    Reviewed-by: Daniel Martin <consume.noise@gmail.com>
    (cherry picked from commit c100211034ab69ce453a1644fb61c6808d7e3eda)

commit b1c01839d8aec4266fd3731a04a23e34f182bf69
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 4bd8e9ecc3dedb876b90b64fb8b140576d5a7b0b
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Mon Feb 11 14:31:56 2013 -0800

    xf86: use nt_list_for_each_entry_safe to walk InputHandlers in xf86Wakeup
    
    This is necessary when the input handler deletes itself from the
    list. Bug found by Maarten Lankhorst, this patch uses the list macros
    instead of open-coding the fix.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit da92690107d90061205340d4cdc98b73b59db9b2)

commit eec5eb2f09682718e69f42491181ade0b093f52d
Author: Matt Dew <marcoz@osource.org>
Date:   Thu Mar 7 23:08:09 2013 -0700

    Bump version to 1.13.3

commit f7ac91301912d0d7ba4beba5e309e6cc8b435945
Author: Dave Airlie <airlied@redhat.com>
Date:   Wed Jan 9 12:58:28 2013 +1000

    randr: cleanup provider properly
    
    So in the cold plug server shutdown case, we reap the resources
    before we call CloseScreen handlers, so the config->randr_provider
    is a dangling pointer when the xf86CrtcCloseScreen handler is called,
    
    however in the hot screen unplug case, we can't rely on automatically
    reaped resources, so we need to clean up the provider in the xf86CrtcCloseScreen
    case.
    
    This patch provides a cleanup callback from the randr provider removal
    into the DDX so it can cleanup properly, this then gets called by the automatic
    code for cold plug, or if hot unplug it gets called explicitly.
    
    Fixes a number of random server crashes on shutdown
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=58174
    Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=891140
    
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 4d98c7da78db66a20397112899dc5aa455a2fdd0
Author: Matt Dew <marcoz@osource.org>
Date:   Thu Feb 28 23:48:03 2013 -0700

    bump rev from 1.13.3-rc1 to 1.13.3-rc2

commit 412c4abbaec2c26b421f407427c1a9d5b7c2de23
Merge: e604b19 e7b4b83
Author: Matt Dew <marcoz@osource.org>
Date:   Mon Feb 18 13:23:07 2013 -0700

    Merge branch 'server-1.13-branch' of git://people.freedesktop.org/~whot/xserver into server-1.13-branch

commit e604b19fc54fee839bbe2d66930b36108ff03950
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Wed Jan 23 16:58:47 2013 -0800

    randr: unref the provider shared pixmap the appropriate number of times
    
    When an RandR shared pixmap is created in rrCreateSharedPixmap, it has a refcnt
    of 1.  Then, PixmapShareToSlave bumps the refcnt to 2.  However, there's no
    corresponding PixmapUnshareFromSlave where the refcnt can be decreased again,
    and there's no convenient common place where the refcnt can be decremented when
    the slave pixmap is destroyed.
    
    Fix this by just unreffing the pixmap twice in RRCrtcDetachScanoutPixmap.
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
    Reviewed-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit e7b4b83679604919035d5aab544092aef5ea6034
Author: Carlos Garnacho <carlosg@gnome.org>
Date:   Wed Feb 6 14:07:22 2013 +0100

    dix: Set focus field on XI2 crossing events
    
    Set on DeviceEnterLeaveEvent() the xXIEnterEvent->focus field
    similarly to how the CoreEnterLeaveEvent() function above does
    for core events.
    
    This fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=677329
    reported to GTK+, where focus handling on window managers with
    sloppy focus or no window manager present was broken due to this
    field being always set to FALSE.
    
    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 509b3c3dc82e7abce1900d5e1cddd90f23be5a87)

commit 29a0c87f4d235898a526758b34c2abfdb656cdf4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jan 25 11:47:32 2013 +1000

    dix: when shutting down slave devices, shut down xtest devices last
    
    XTest devices are the first ones in the list, being initialised together
    with the master devices. If we disable the devices in-order and a device has
    a button down when being disabled, the XTest device is checked for a
    required button release (xkbAccessX.c's ProcessPointerEvent). This fails if
    the device is already NULL.
    
    Instead of putting the check there, disable the devices in the reverse order
    they are initialised. Disable physical slaves first, then xtest devices,
    then the master devices.
    
    Testcase: shut down server with a button still held down on a physical
    device
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit 3e4be4033aed78b2bb3a18d51f0963989efd1af3)

commit d8a09a4b15a6830b3fd281540015015a5663952e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jan 11 14:22:07 2013 +1000

    dix: pre-scale relative events from abs devices to desktop ratio (#31636)
    
    Absolute devices may send relative events depending on the mode (synaptics
    by default, wacom per option). The relative events are added to the previous
    position, converted into device coordinates and then scaled into desktop
    coordinates for pointer movement.
    
    Because the device range must be mapped into the desktop coordinate range,
    this results in uneven scaling depending dimensions, e.g. on a setup with
    width == 2 * height, a relative movement of 10/10 in device coordinates
    results in a cursor movement of 20/10 (+ acceleration)
    
    Other commonly user-visible results:
    * the touchpad changing acceleration once an external monitor as added.
    * drawing a circle on a wacom tablet in relative mode gives an ellipsis in
      the same ratio as the desktop dimensions.
    
    Solution: pre-scale the incoming relative x/y coordinates by width/height
    ratio of the total desktop size. Then add them to the previous
    coordinates and scale back with the previous mapping, which will undo the
    pre-scaling and give us the right movement.
    
    X.Org Bug 31636 <http://bugs.freedesktop.org/show_bug.cgi?id=31636>
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit 61a99aff9d33728a0b67920254d2d4d79f80cf39)

commit 79f5430ba62e0020cb19e4ce72599a220d0bb2f9
Author: Sybren van Elderen <sowmestno@msn.com>
Date:   Tue Jan 29 15:43:57 2013 +1000

    dix: when scaling from desktop coord, take the total desktop size (#51904)
    
    Scaled is already in desktop coordinates, take the total width into account,
    not just the current screen's width.
    
    Fixes Xdmx pointer position calculation.
    
    X.Org Bug 51904 <http://bugs.freedesktop.org/show_bug.cgi?id=51904>
    
    Signed-off-by: Sybren van Elderen <sowmestno@msn.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit a191dbfe850ed9c6440346f59cb0078e0e844edc)

commit fa6cbd099f65eea46e41ecffcc46135bae2face8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Sat Jan 26 14:13:33 2013 +1000

    dmx: don't include dmx-config.h from xdmxconfig (#37502)
    
    dmx-config.h is a server header which includes dix-config.h. That again
    defines a bunch of server-specifics, including setting the size of XID to
    32 bit.
    
    libX11 uses unsigned long (8 bits on x86_64). XGCValues thus ends up being
    16 bytes smaller in xdmxconfig than in the library, causing garbage to be
    sent to the server.
    
    X.Org Bug 37502 <http://bugs.freedesktop.org/show_bug.cgi?id=37502>
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit 1058fcf57fdcb94d92e7b5f4483b347853d5f8e6)

commit 63f928a9d702512db4c1e683c3b772a4d1f32010
Author: Daniel Martin <consume.noise@gmail.com>
Date:   Fri Dec 7 19:38:55 2012 +0100

    xfixes: Fix minor number in QueryVersion
    
    Due to a typo the major version number was passed as minor version to
    version_compare().
    
    Regression-from: ffd4874798ba54f86acac75779a15b4babeaa5f3
    
    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 36740d02b9ca117f1404e077367fbbbe271a17d6)

commit bc4c3158ba3ef438426a2376f20f97d7f266828c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Dec 4 15:28:14 2012 +1000

    xkb: only post a XTest release if the XTest device has the button down
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit 5daa442fe15d9a87112a2def673c99a5f2506dcf)

commit b3b7be7d49ee9a253062661d6c72fa1f8ddff493
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Dec 4 15:03:37 2012 +1000

    xkb: always post XTest button up when the physical button released (#28808)
    
    Regression introduced by commit 2decff6393a44b56d80d53570718f95354fde454
      xkb: ProcesssPointerEvent must work on the VCP if it gets the VCP
    
    XTest buttons must be released when a physical button is released. This was
    fixed in 14327858391ebe929b806efb53ad79e789361883, but
    2decff6393a44b56d80d53570718f95354fde454 changed a condition that this code
    didn't get triggered anymore.
    
    "dev" for pointer events is now always the VCP which doesn't have a xkbi
    struct. So move this condition out and always trigger the XTest released for
    button events.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Frank Roscher <Frank-Roscher@gmx.net>
    (cherry picked from commit c4fee9d2ecd6fdd4c05b04c9f02b23f10f2938b8)

commit c260ae1a0ca76dadc44e7031ffcb78e12ba4087e
Author: Matt Dew <marcoz@osource.org>
Date:   Sat Feb 16 00:08:59 2013 -0700

    Update release to 1.13.3-rc1

commit b6c59f73d2dabca6348ca5ceae978488c3a4856f
Author: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Date:   Sat Feb 9 20:53:02 2013 -0800

    XORG_TLS: Pick the first option that works (ie: prefer __thread)
    
    Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>

commit 1c7c7d407edfb68ee5679b059a0cd72a59ac5d67
Author: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Date:   Sat Feb 9 20:40:10 2013 -0800

    os: Ensure <dix-config.h> is included in strndup.c
    
    Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
    Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit e2f4be5ba55268d8e92c2d7161cb5ff822b29126
Author: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Date:   Sat Feb 9 20:34:33 2013 -0800

    XQuartz: Ensure <dix-config.h> is included in capabilities.c
    
    Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
    Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit a2d9bade3830802ac810a1bd72e516411f1bef35
Author: Dave Airlie <airlied@gmail.com>
Date:   Tue Feb 5 07:46:06 2013 -0800

    randr: bump advertised RandR version to 1.4
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
    Tested-by: Aaron Plattner <aplattner@nvidia.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 3ffa491426f2eb5a5454032676c537c8bb56bb29
Merge: 1000271 dc1c70f
Author: Matt Dew <marcoz@osource.org>
Date:   Fri Jan 25 16:34:29 2013 -0700

    Merge branch 'server-1.13-branch' of git://people.freedesktop.org/~whot/xserver into server-1.13-branch

commit 100027127cf6ebcccd404eece2bf6862669fc8a9
Author: Matt Dew <marcoz@osource.org>
Date:   Thu Jan 24 22:53:34 2013 -0700

    Bump version number to 1.13.2

commit dc1c70f2993ed36284e248e9f22caa62811206ec
Author: Dave Airlie <airlied@gmail.com>
Date:   Tue Jan 22 07:39:53 2013 +1000

    xserver: fix build regression since 91ab237358c6e33da854914d3de493a9cbea7637
    
    inputstr, double defines TouchListener typedef, maybe some gcc handles it,
    but not all.
    
    fixes tinderbox
    
    Reported-by: Jon TURNEY <jon.turney@dronecode.org.uk>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit 605dfc6804a05ff2bda5692fec26c37344fd95cb)

commit 310ac850805364c39c8f36a6a1d4fc54b952ad9d
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Mon Nov 19 21:04:57 2012 -0500

    dix: Save touchpoint last coordinates before transform. #49347
    
    DDXTouchPointInfoRec.valuators used to store axis values after transform.
    This resulted in Coordinate Transformation Matrix
    being applied multiple times to the last coordinates,
    in the case when only pressure changes in the last touch event.
    
    Changed DDXTouchPointInfoRec.valuators to store values before transform.
    
    Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=49347
    
    Signed-off-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit 3b9f1c701787965246638c1a6fd99fb2b6078114)
    
    Conflicts:
    	dix/getevents.c

commit d07dfb11c29172df12f8c86213e8c1488aa2d527
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jan 9 13:58:56 2013 +1000

    xfree86: don't access the old input handler after freeing it
    
    Introduced in 323869f3298cbbfe864af9404a8aed1bf7995d79
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Dave Airlie <airlied@redhat.com>
    (cherry picked from commit f4a58469a298c226668fd8dce375bf22331c902d)

commit f7f566f9e3aa357d367ffc2c8b62b39c7d03f1e0
Author: Andreas Wettstein <wettstein509@solnet.ch>
Date:   Wed Dec 19 18:13:21 2012 +0100

    xkb: Do not use base group as an array index.
    
    The base group is not brought into range and, therefore, using it as an array
    index crashed the X server.  Also, at this place, we should ignore locked
    groups, but not latched groups.  Therefore, use sum of base and latched groups,
    brought into range.
    
    Reproducible with:
    key <FK07> {
        type= "ONE_LEVEL",
        symbols[Group1]= [              NoSymbol ],
        actions[Group1]= [ LatchGroup(group=-1, clearLocks) ]
    };
    
    And hitting F7 will exceed the group level and access arbitrary memory.
    
    Signed-off-by: Andreas Wettstein <wettstein509@solnet.ch>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit 3578cc3c2e1b5cb8eb191e2d12ad88e1bc9e6e1e)

commit da0c913da8d12bebb442e32313afb141d563cf05
Author: Carlos Garnacho <carlosg@gnome.org>
Date:   Wed Dec 19 18:42:39 2012 +0100

    render: Unwrap early on the animated cursor BlockHandler
    
    The loop above the previous call may end up triggering other
    handlers attaching to the same function slot, so unwrapping
    the handler after that could leave the just attached handler
    in a dangling but not unset state.
    
    This issue was most visible on the XO, where destroying a
    window with an animated cursor set and running  would trigger
    this inconsistent state, never calling the miSpriteBlockHandler
    again after the animated cursor is unset.
    
    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 df746a73410b892a4d41a2934cf9cd2e8ad7ba51)

commit 4cdd3bfc00e6077b5d41761e3b7ae823b277b382
Author: Carlos Garnacho <carlosg@gnome.org>
Date:   Wed Dec 19 18:42:38 2012 +0100

    mi: Ensure pointer emulating touch events update the sprite
    
    Different miPointerSpriteFuncRec implementations do a varying
    business at ultimately calling miPointerUpdateSprite(), this
    particularly fails when using the plain mi sprite on touch events,
    where the sprite is just moved/updated on cursor changes.
    
    So, ensure miPointerUpdateSprite() is called generically for
    pointer emulating touch events as with regular motion 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 0fbd779a82919d5dbf8776be9b57a76c0eae6b14)

commit 7b5b7b14678747976b4309dc435a8b3ac30553da
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jan 4 12:26:58 2013 +1000

    dix: remove already-moved hunk
    
    Should've been removed in bc1f90a615018c05994fae3e678dd2341256cd82a, but got
    left here due to a botched rebase.
    
    Fixes stray button events sent to clients after deactivating an async
    pointer grab on a pointer-emulating-touch.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit 0e1ab433f4048b3367bb2f01d16cd00502538e4d)

commit 66299cb7b850bc9260ad4b5c03e8720e3baeea98
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Dec 20 16:25:43 2012 +1000

    dix: check for the right device's xi2 mask
    
    events.c: In function 'DeactivatePointerGrab':
    events.c:1524:51: warning: 'dev' may be used uninitialized in this function
    [-Wuninitialized
    
    dev is unset when we get here, the device to check is "mouse".
    Introduced in ece8157a59751b3ed492fb2e1eb8d5f20221e195.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit 32a6d8a6b59c42f8d65002d7ca1cafb1957b656f)

commit 7c859fd5d1528fd5ea6816224cb9e22f0df0ee25
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Oct 30 12:44:08 2012 +1000

    dix: add resource type to touch listeners
    
    Instead of guessing what resource type the listener is and what property to
    retrieve, store the resource type in the listener directly.
    
    Breaks XIT test cases:
    TouchGrabTestMultipleTaps.PassiveGrabPointerEmulationMultipleTouchesFastSuccession
    
    Fixes https://bugs.freedesktop.org/show_bug.cgi?id=56557
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Keith Packard <keithp@keithp.com>
    Reviewed-by: Chase Douglas <chase.douglas@ubuntu.com>
    (cherry picked from commit f59499b5d05fde83813709e9848152951592120d)

commit df12c4daa7236702ef52aa121705826e58bf6783
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Nov 27 11:21:17 2012 -0800

    input: Record grab pointer in TouchListener
    
    This places a pointer to the grab related to a TouchListener directly
    in the TouchListener structure rather than hoping to find the grab
    later on using the resource ID.
    
    Passive grabs have resource ID in the resource DB so they can be
    removed when a client exits, and those resource IDs get copied when
    activated, but implicit grabs are constructed on-the-fly and have no
    resource DB entry.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit 9ad0fdb135a1c336771aee1f6eab75a6ad874aff)

commit 5272f71cf8387efe87a19827a01daf2b0bbdfbf6
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Nov 27 11:21:16 2012 -0800

    input: Pull TouchListener declaration to top-level
    
    No reason to have a struct declared inside another struct
    
    Signed-off-by: Keith Packard <keithp@keithp.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit 91ab237358c6e33da854914d3de493a9cbea7637)

commit 041ab46aba357689484f91fc408725677d6dc2d4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 8 11:19:09 2013 +1000

    xfree86: update the device state for all DGA events (#59100)
    
    DGA only handles master devices but it does intercept slave device events as
    well (since the event handlers are per event type, not per device).
    
    The DGA code must thus call into UpdateDeviceState to reset the button/key
    state on the slave device before it discards the remainder of the event.
    
    Test case:
    - Passive GrabModeSync on VCP
    - Press button
    - Enable DGA after ButtonPress
    - AllowEvents(SyncPointer)
    - Release button
    
    The button release is handled by DGAProcessPointerEvent but the device state
    is never updated, so the slave ends up with the button permanently down.
    And since the master's button state is the union of the slave states, the
    master has the button permanently down.
    
    X.Org Bug 59100 <http://bugs.freedesktop.org/show_bug.cgi?id=59100>
    
    Reported-by: Steven Elliott <selliott4@austin.rr.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Dave Airlie <airlied@redhat.com>
    (cherry picked from commit ad3bc571348a7007a2960bf87ae739397c5511ee)

commit c201d00014c505055915eefbc1702dd1e84cbce7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 8 10:13:53 2013 +1000

    xfree86: set event->detail for DGA pointer events
    
    Reported-by: Steven Elliott <selliott4@austin.rr.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Dave Airlie <airlied@redhat.com>
    (cherry picked from commit c5f2818edbec2f87383baa6c6be5c389b73ca6f9)

commit de0ea3544f57ea1d940726a6dfac19f21d74d090
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 22 10:34:07 2012 +1000

    dix: don't filter RawEvents if the grab window is not the root window (#53897)
    
    If a XI2.1+ client has a grab on a non-root window, it  must still receive
    raw events on the root window.
    
    Test case: register for XI_ButtonPress on window and XI_RawMotion on root.
    No raw events are received once the press activates an implicit grab on the
    window.
    
    X.Org Bug 53897 <http://bugs.freedesktop.org/show_bug.cgi?id=53897>
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit 4e13dd90144dde47550aceea4db4b4329e531279)

commit 5ed2523f4dc6c471908c2d940cc40e4ad26aa84d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 12 11:02:19 2012 +1000

    xfree86: print message to the log when zapping the server
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit 3420a7778c7d5eaa638327f31dd460554c257bb1)

commit 956700d14d01a6d8a1bb8b8f9b910ef044ad154b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Nov 26 14:55:13 2012 +1000

    Xi: if a TouchEnd appears on a actively grabbing client, always accept
    
    Once the TouchEnd appears on the device, the touch is done. If the client
    still has a pointer grab, accept it to avoid clients with TouchOwnership
    selections to wait indefinitely for the actual touch event.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit 00def5144557cfe8bf535f926212a8e084dc7cf6)
    
    Conflicts:
    	Xi/exevents.c

commit 39157fd2405ad855d0f60578b57e193a744bb075
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Nov 26 15:14:19 2012 +1000

    dix: when deactivating pointer-only grabs, don't emulate TouchEnd events
    
    A client with a pointer grab on a touch device must reject the touch when
    detactivating the grab while the touch is active. However, such a rejecting
    must not trigger a ButtonRelease event to be emulated and sent to the
    client.
    Set the grabbing listener's state to HAS_END, so we simply skip delivery to
    that client.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit ece8157a59751b3ed492fb2e1eb8d5f20221e195)

commit e1626674333ef4d67f97d9960f58486c9f6cb11d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Nov 26 12:23:54 2012 +1000

    dix: only reject active grabs on ungrab and do it before actually ungrabbing
    
    An active grab ungrabbing is the same as rejecting the grab, since the
    client is no longer interested in those events. So reject any touch grab,
    but do so before actually deactivating since we're interested in the
    TouchEnd for the current grabbing client.
    
    A passive grab otoh is _not_ like rejecting a grab, since it deactivates
    automatically when the touch ends.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit bc1f90a615018c05994fae3e678dd2341256cd82)

commit b72ffcf6ae146feaa08df80e65d293bc3a62331f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 22 13:49:34 2012 +1000

    dix: don't call ProcessInputEvents() when accepting/rejecting touches
    
    TouchListenerAcceptReject may be called during normal event processing, but
    ProcessInputEvents is not reentrant and calling it here smashes the event
    queue.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit 146f48c2934fc85ec095496da5c8f0102bc7f5b5)

commit d5142c4e9db6175c5258749acc314833c40ac2fb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Dec 14 11:34:15 2012 +1000

    dix: don't allow overriding a grab with a different type of grab (#58255)
    
    If a client has a core grab, don't allow re-grabbing with type XI2, etc.
    This was the intent of the original commit
    xorg-server-1.5.99.1-782-g09f9a86, but ineffective.
    
    X.Org Bug 58255 <http://bugs.freedesktop.org/show_bug.cgi?id=58255>
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit dd3242c87a0a58cba055eb99c0c3fcf03153e4b8)

commit 7800cf99f52081b7f6b8870d430730c595ffca60
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Dec 11 13:36:02 2012 +1000

    dix: don't copy the wrong event mask when activating a passive grab
    
    GrabMask is a union of core, XI1 and XI2 masks. If a XI2 grab is activated,
    the value is a random pointer value, using it as mask has unpredictable
    effects.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
    Reviewed-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit f793b5fd3eb16a2ada130367c2ffebeede69a322)

commit c15bdf316386dad275dd4f691e7a6a3b306f9327
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Dec 13 11:49:54 2012 +1000

    Xi: don't use devices after removing them
    
    RemoveDevice() frees the DeviceIntPtr, we shouldn't use the pointer after
    that
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit 58bff17e43a80eb21b3ff6d4bb1596230e61f707)

commit 3a8c618a731aced34ddc8c69a1798e2cfd967fbd
Author: Matt Dew <marcoz@osource.org>
Date:   Thu Jan 3 23:36:00 2013 -0700

    version bump for 1.13.1.901 (rc1)

commit 95780608df676473f501a6cd73248da9f7be82a0
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Tue Dec 18 00:41:08 2012 -0800

    EnableDisableExtensionError: Use ARRAY_SIZE rather than sentinel
    
    d785368e0e converted the other miinitext functions to use ARRAY_SIZE,
    and removed the sentinel, but missed EnableDisableExtensionError so
    passing an invalid extension name could cause the server to walk off
    the end off the list looking for a sentinel that wasn't there.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a6d89f30dde50cbd1117e8639dfb99cc852cfd6a
Author: Dave Airlie <airlied@redhat.com>
Date:   Mon Dec 17 15:40:17 2012 +1000

    glx/dri2: initialise api to avoid indirect rendering failing randomly
    
    Running glxinfo under indirect rendering would randomly fail against the
    intel driver, as it would create a context with no attribs, and then the
    api value would be passed to the driver uninitialised.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Reviewed-by: Keith Packard <keithp@keithp.com>
    Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 65642ccb78aa2d4c4e17b9ac42e4ef625c4a6e8b
Author: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Date:   Fri Nov 16 19:51:58 2012 +0200

    vfb: Initialize the GLX extension again.
    
    This should fix a regression in the 1.13.0 release: commit
    5f5bbbe543f65c48ecbb5cce80116a86ca3fbe86 removed a code path used by Xvfb
    and made it use the default one when initializing extensions. However, this
    meant the GLX extension was not initialized anymore since it is not part of
    the `staticExtensions' array.
    
    Since it is not possible to just add it to that array after commit
    aad428b8e21c77397c623b78706eb64b1fea77c9, adopt an approach similar to
    xwin's and xquartz's and initialize the extension from vfb's `InitOutput'.
    
    Signed-off-by: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
    Reviewed-by: Daniel Stone <daniel@fooishbar.org>

commit e348e4afc5323779b686ee8ff2f094359664c42e
Author: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Date:   Tue Dec 18 01:29:12 2012 -0800

    XQuartz: Don't add the 15bit visual any more
    
    Mountain Lion only supports 32bit backing stores, so don't use 15bit visuals until libXplugin adapts
    
    Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
    (cherry picked from commit ba4bb3bc1b87eb57cc34d2ad1f302c9d2a15c847)

commit 34fb39a960898f5a0bcc67f76f385ba8a91ea2ba
Author: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Date:   Thu Sep 20 21:11:21 2012 -0700

    XQuartz: Add some verbose logging to debug xp_lock_window being unbalanced
    
    Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
    (cherry picked from commit f54987de97720200ee94eba1c7a737d4ad8c55c8)

commit 06e2ecd0df9b81dd518ae6017ec42765520e2e93
Author: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Date:   Thu Sep 20 21:49:40 2012 -0700

    XQuartz: Avoid a possible deadlock with DRI on OS X 10.7.5 and OS X 10.8.2
    
    <rdar://problem/12338921>
    http://bugs.winehq.org/show_bug.cgi?id=31751
    
    Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
    (cherry picked from commit 25d26875bc9bd6fd23ae1b5280f015abf1b033b7)

commit 92ecbf5f0f516aacb7f0034e3786c4454a07fe8d
Author: Matt Dew <marcoz@osource.org>
Date:   Thu Dec 13 21:05:24 2012 -0700

    No changes from 1.13.0.902 (rc2)
    
    Bump version to 1.13.1

commit ede07c1af35926c77c4e766cc02c00333b498460
Author: Matt Dew <marcoz@osource.org>
Date:   Thu Dec 6 22:46:46 2012 -0700

    Bump version

commit e2369dd404024415853108848c8d052e73e95461
Merge: d71a17c 79220f4
Author: Matt Dew <marcoz@osource.org>
Date:   Thu Dec 6 21:53:42 2012 -0700

    Merge branch 'server-1.13-branch' of git://people.freedesktop.org/~whot/xserver into server-1.13-branch

commit 79220f4390127d9971cbcf378530bf36172ef35a
Author: Daniel Martin <consume.noise@gmail.com>
Date:   Wed Nov 7 11:31:01 2012 +0100

    Xi: Fix modifier swapping in XIPassiveGrabDevice
    
    XIPassiveGrabDevice uses a list of uint32_t as modifier sets.
    
    The ModifierInfo struct represents the current modifier states and is
    therefor used in XIQueryPointer and various events.
    
    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 aa9a9ad08b8a6e7e95de7c2bf45d93dd50f9ca87)

commit 521f3fb566e67330a486874928a21ce201dba02b
Author: Sybren van Elderen <sowmestno@msn.com>
Date:   Tue Nov 27 19:27:10 2012 +0100

    hw/dmx: add update_desktop_dimensions() call
    
    The Xdmx server did not update the desktop dimensions when computing screen
    origins.
    
    Signed-off-by: Sybren van Elderen <sowmestno@msn.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit 6e18599d691036eca6ff082c17727d9ffb926984)

commit 73bd33b4d4e3df4a8097826695a8dbdc2fb5c920
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 26 10:30:35 2012 +1000

    xkb: fill in keycode and event type for slow keys enablement
    
    eventType is set for the type that triggered a XkbControlsNotify event.
    Technically, SlowKeys is triggered by a timer which doesn't have a matching
    core event type. So we used to use 0 here.
    
    Practically, the timer is triggered by a key press + hold and cancelled when
    the key is released before the timeout expires. So we might as well set
    KeyPress (keycode) in the ControlsNotify to give clients a chance to differ
    between timer-triggered SlowKeys and client-triggered ones.
    
    This is a chance in behaviour, though I suspect with little impact.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Daniel Stone <daniel@fooishbar.org>
    (cherry picked from commit 2c4388a00ec308bc2d48ba751ff510cd5c1b2384)

commit 2def985466683cf3746c03f9ac318e5941d22f86
Author: Jasper St. Pierre <jstpierre@mecheye.net>
Date:   Tue Nov 20 14:50:41 2012 -0500

    cursor: Revise edge cases for the pointer moving towards barriers
    
    Since barriers block the invisible line between pixels, that means
    that we need to explicitly check the boundaries, or else we'll have
    a potential off-by-one error. This fixes issues when trying to move
    down or right across a barrier and having the pointer visibly bounce.
    
    Signed-off-by: Jasper St. Pierre <jstpierre@mecheye.net>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit a51b2c3913fc8556f6bd1c76805d045fc424c4bb)

commit 4a957c9e81233344da0b5b9388ca2d97eedde7d5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 15 14:00:57 2012 +1000

    When resetting device idle time, reset XIAll(Master)Devices too (#56649)
    
    When the screen saver is forcibly deactivated, the idle time counter is
    reset for all devices but not for the fake XIAllDevices and
    XIAllMasterDevices. XScreenSaverQueryInfo uses XIAlldevices to fill the
    "idle" field, thus returning the wrong value.
    
    Regression introduced in
    commit 6aef209ebc2e54f5465da505a780f7b4cc273ee0
    Author: Peter Hutterer <peter.hutterer@who-t.net>
    Date:   Mon Mar 12 13:51:02 2012 +1000
    
        Change lastDeviceIdleTime to be per-device
    
    X.Org Bug 56649 <http://bugs.freedesktop.org/show_bug.cgi?id=56649>
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Giacomo Perale <ghepeu@virgilio.it>
    Reviewed-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit 2dc6d9228456cbc274a1fcea478258e5ae4dc629)

commit d71a17cfab6536df9df46a342a24dd415c020192
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sat Nov 10 10:26:08 2012 +0000

    xf86: select a fake output for headless servers
    
    Following commit 37d956e3ac9513b74078882dff489f9b0a7a5a28
    Author: Keith Packard <keithp@keithp.com>
    Date:   Mon Sep 10 11:14:20 2012 +1000
    
        xf86: fix compat output selection for no output GPUs
    
    headless servers can no longer startup as we no longer select a compat
    output for the fake framebuffer.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56343
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit e54f71a2c7a1677a5c5032d1e7dc099d5204144b)

commit 72ef659874ffe88e88d2f2a35a6e404782cefe9f
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Sep 10 11:14:20 2012 +1000

    xf86: fix compat output selection for no output GPUs
    
    This should work properly with dynamic outputs.
    
    Reviewed-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    (cherry picked from commit 37d956e3ac9513b74078882dff489f9b0a7a5a28)

commit a2748aa6bde13b447a246606767535a30090cd02
Author: Dave Airlie <airlied@gmail.com>
Date:   Fri Nov 30 20:54:38 2012 +1000

    randr: call RRProviderInit in the proper place.
    
    No idea where this got lost across development cycles, but its
    definitely missing.
    
    Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=57448
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit e9ea96d6a88f197928c82b008953f1810de6f792)

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
