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

xorg-server: Changes to 'ubuntu++1'



New branch 'ubuntu++1' available with the following commits:
commit 8e24ee5119fc9f8d6f59534b2298f105bcb9012f
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Thu May 30 14:31:22 2013 +0200

    Bump to 1.15rc1 + git.
    
    Drop upstreamed patches.
    Add patch to fix a new build failure.
    - dix-fixup-build-failure.patch

commit aabc4e4bb71aec1686563f4411423696ede2ced4
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Thu May 30 11:00:33 2013 +0200

    refresh patch series for 1.15

commit 8d78085b3d44b085b2ed43a03889a3848398f0a8
Merge: 29d0c05 c21344a
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Thu May 30 10:58:26 2013 +0200

    Merge remote-tracking branch 'upstream/master' into ubuntu++1
    
    Conflicts:
    	configure.ac

commit c21344add2fc589df83b29be5831c36a372201bd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon May 27 13:46:49 2013 +1000

    dix: remove logspam in RefCursor()
    
    This shouldn't have been in the patch
    
    Reported-by: Colin Harrison <colin.harrison@virgin.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Keith Packard <keithp@keithp.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit cb3018d8a15add48efb3335e1f79b66378166008
Merge: c76a1b3 6589f3b
Author: Keith Packard <keithp@keithp.com>
Date:   Thu May 23 19:58:46 2013 -0600

    Merge remote-tracking branch 'whot/unreviewed'

commit c76a1b343d6a56aa9529e87f0eda8d61355d562b
Merge: 891123c 9a5ad65
Author: Keith Packard <keithp@keithp.com>
Date:   Thu May 23 19:58:36 2013 -0600

    Merge remote-tracking branch 'whot/touch-grab-race-condition-56578-v3'

commit 891123ce9dac5e52685b9a921b33d8279ba52956
Merge: 7e97166 49521ed
Author: Keith Packard <keithp@keithp.com>
Date:   Thu May 23 10:30:15 2013 -0600

    Merge remote-tracking branch 'whot/for-keith'

commit 6589f3b55e335eef6c658c8ba1fe15a062f7e31c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue May 14 08:31:19 2013 +1000

    dix: devices must have valuators before touch is initialized
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 756ab88d93542f0589c9bf46f40ccc57df64f0fd
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>

commit 5cc2c96f824dbb28b9f8da61efc41596f8bd0561
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>

commit 9a5ad65330693b3273972b63d10f2907d9ab954a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed May 15 19:01:11 2013 +1000

    Abstract cursor refcounting
    
    Too many callers relied on the refcnt being handled correctly. Use a simple
    wrapper to handle that case.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 35c2e263db01b2b61354298e5e85aa3cae8ac317
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue May 14 14:51:31 2013 +1000

    dix: call UpdateDeviceState() for emulated TouchEndEvents
    
    ProcessTouchEvents() calls UDS for all touch events, but if the event type
    was switched to TouchUpdate(pending end) UDS is a noop.
    
    Daniel Drake found this can cause stuck buttons if a touch grab is
    activated, rejected and the touch event is passed to a regular listener.
    This sequence causes the TouchEnd to be changed to TouchUpdate(pending end).
    
    The actual TouchEnd event is later generated by the server once it is passed
    to the next listener. UDS is never called for this event, thus the button
    remains logically down.
    
    A previous patch suggested for UDS to handle TouchUpdate events [1], however
    this would release the button when the first TouchEvent is processed, not
    when the last grab has been released (as is the case for sync pointer
    grabs). A client may thus have the grab on the device, receive a ButtonPress
    but see the button logically up in an XQueryPointer request.
    
    This patch adds a call to UDS to TouchEmitTouchEnd(). The device state must
    be updated once a TouchEnd event was sent to the last grabbing listener and
    the number of grabs on the touchpoint is 0.
    
    [1] http://patchwork.freedesktop.org/patch/13464/
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8b9dc2628115dcb3f3601ad19b1ae157df21b9ee
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue May 14 07:46:25 2013 +1000

    dix: devices must have valuators before touch is initialized
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fd5ea0237db6d725a48f76b706135df9d3246b82
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon May 13 15:22:12 2013 +1000

    Xi: fix warning - remove unused 'rc'
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 481702101b86fff003430e952dc65fb41eb56400
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri May 3 15:07:58 2013 +1000

    dix: fix cursor refcounting
    
    The cursor is referenced during CopyGrab(), thus doesn't need to be handled
    manually anymore. It does need to be refcounted for temp grabs though.
    
    The oldGrab handling in ProcGrabPointer is a leftover from the cursor in the
    grab being refcounted, but the grab itself being a static struct in the
    DeviceIntRec. Now that all grabs are copied, this lead to a double-free of
    the cursor (Reproduced in Thunderbird, dragging an email twice (or more
    often) causes a crash).
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 49521edaf8930b335afac2185209e26e7000820b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed May 15 08:51:51 2013 +1000

    ephyr: add -resizeable to the man page
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 7a4bbfd9f2ce7aad23148ba01bb3f1071da606a3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed May 15 08:46:38 2013 +1000

    ephyr: fix typo in man page
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 7e97166c4fc38076b6224e4dbdd632b43444149f
Author: Geert Uytterhoeven <geert@linux-m68k.org>
Date:   Tue May 14 13:04:53 2013 +0200

    Shadow: Switch the Amiga/Atari bitplane code to the canonical X.Org license
    
    Also add my name to the list of authors in COPYING
    
    Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
    Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 3093f78d17e48a506aab170a9089cd10e21af299
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri May 3 15:02:05 2013 +1000

    dix: free the old grab when activating a new grab
    
    A client may call XIGrabDevice twice, overwriting the existing grab. Thus,
    make sure we free the old copy after we copied it. Free it last, to make
    sure our refcounts don't run to 0 and inadvertantly free something on the
    way.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2566bdd8bc996cccde77b846819808c6239a89d2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Apr 24 14:46:06 2013 +1000

    Xi: check for HAS_ACCEPTED only for grab listeners
    
    If we have one listener left but it's not a grab, it cannot be in
    LISTENER_HAS_ACCEPTED state.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5b00fc52270e9cfdfe7ac1838a21defe50fc3d31
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Apr 24 14:40:31 2013 +1000

    Move TouchListenerGone call to CloseDownClient
    
    TouchListenerGone cleans up if a client disappears. Having this in
    FreeGrab() triggers cyclic removal of grabs, emitting wrong events. In
    particular, it would clean up a passive grab record while that grab is
    active.
    
    Move it to CloseDownClient() instead, cleaning up before we go.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 34c9b39d9937c2e19c2dffc9748605f90d40f965
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Apr 24 12:53:52 2013 +1000

    dix: remove all listeners when freeing a touch
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 395124bd2782823de37e5c5b2f15dba49cff05f6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Apr 17 20:15:35 2013 +1000

    dix: always copy grabs, don't reference them
    
    Introduced in xorg-server-1.13.99.901-2-g9ad0fdb. Storing the grab pointer
    in the listener turns out to be a bad idea. If the grab is not an active
    grab or an implicit grab, the pointer stored is the one to the grab attached
    on the window. This grab may be removed if the client calls UngrabButton or
    similar while the touch is still active, leaving a dangling pointer.
    
    To avoid this, copy the grab wherever we need to reference it later. This
    is also what we do for pointer/keyboard grabs, where we copy the grab as
    soon as it becomes active.
    
    Reported-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 925e35122ebad877395bcf13676e9dbeb254bdfa
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 23 15:52:18 2013 +1000

    dix: AllocGrab can copy if an argument is passed in
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4980bcef9973ba1f90f53028f061669ee5d2661b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 23 15:46:04 2013 +1000

    dix: freeing a null grab is a bug, complain if doing so
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ccfa0f2d5de557546815a5e4f59552e2af46b578
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 23 15:39:32 2013 +1000

    dix: use a temporary variable for listeners[0]
    
    no functional changes
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5363433a5cc64e2f83859aa1c32a89e5e1ddf9e4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Apr 18 10:32:11 2013 +1000

    dix: drop DeviceIntRec's activeGrab struct
    
    Obsolete since 4bc2761ad5ec2d0668aec639780ffb136605fbc8. This struct
    existed so copying a passive grab could be simply done by
      activeGrab = *grab
    
    and thus have a copy of the GrabPtr we'd get from various sources but still
    be able to check device->grab for NULL.
    
    Since 4bc2761 activeGrab is a pointer itself and points to the same memory
    as grabinfo->grab, leaving us with the potential of dangling pointers if
    either calls FreeGrab() and doesn't reset the other one.
    
    There is no reader of activeGrab anyway, so simply removing it is
    sufficient.
    
    Note: field is merely renamed to keep the ABI. Should be removed in the
    future.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 7dbf61817d3bd4b1fc71710677e56c5d8cfcdb4e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Apr 17 20:14:56 2013 +1000

    dix: use a tmp variable for the to-be-removed touch listener
    
    No functional changes.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a71a283934406d870bcd8dc376eb1c9ce1c8bbb4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Apr 17 20:13:34 2013 +1000

    dix: invert a loop condition
    
    Change the single if condition in the loop body to a
        if (!foo) continue;
    and re-indent the rest.
    
    No functional changes.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5174b1f98204beee79eba74c4cda5f2be0a60a8f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 28 11:02:40 2013 +1000

    dix: XAllowEvents() on a touch event means accepting it
    
    A sync grab is the owner once it gets events. If it doesn't replay the
    event it will get all events from this touch, equivalent to accepting it.
    
    If the touch has ended before XAllowEvents() is called, we also now need to
    send the TouchEnd event and clean-up since we won't see anything more from
    this touch.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e7f79c48b0faea910dc881034c00eb807fcd6210
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 1 12:52:35 2013 +1000

    dix: move EmitTouchEnd to touch.c
    
    No functional changes, this just enables it to be re-used easier.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0eb9390f6048049136347d5a5834d88bfc67cc09
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 1 10:41:01 2013 +1000

    Xi: Don't emit a TouchEnd event to a frozen device
    
    EmitTouchEnd calls DeliverTouchEvents directly instead of through
    public.processInputProc. If a device is frozen, the TouchEnd is
    processed while the device is waiting for a XAllowEvents and thus ends the
    touch point (and the grab) before the client decided what to do with it. In
    the case of ReplayPointer, this loses the event.
    
    This is a hack, but making EmitTouchEnd use processInputProc breaks
    approximately everything, especially the touch point is cleaned up during
    ProcessTouchEvents. Working around that is a bigger hack than this.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a7d989d335f903ffd8b168cd2beeb82c78d30c21
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 28 13:07:26 2013 +1000

    Xi: use public.processInputProc to replay the touch history
    
    If a device is frozen in results to a grab, we need to enqueue the events.
    
    This makes things complicated, and hard to follow since touch events are now
    replayed in the history, pushed into EnqueueEvent, then replayed later
    during PlayReleasedEvents in response to an XAllowEvents.
    
    While the device is frozen, no touch events are processed, so if there is a
    touch client with ownership mask _below_ the grab this will delay the
    delivery and potentially screw gesture recognition. However, this is the
    behaviour we have already anyway if the top-most client is a sync pgrab or
    there is a sync grab active on the device when the TouchBegin was generated.
    
    (also note, such a client would only reliably work in case of ReplayPointer
    anyway)
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 214d11d3fcdac51fc7afbf3770516ec14f9e13c1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 27 15:05:54 2013 +1000

    Xi: when punting to a new owner, always create TouchEnd events
    
    If a touch is pending_finish and we just punted it to the next owner, that
    client must receive a TouchEnd event.
    
    If we just punted to the last owner and that owner not a touch grab, we need
    to end the touch since this is the last event to be sent, and the client
    cannot accept/reject this.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 026627fe19aad007544eccf209f0dea05e67a7a7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 1 09:15:37 2013 +1000

    Xi: save state for early acceptance
    
    Delivering an event changes the state to LISTENER_IS_OWNER and we thus lose
    the information of early acceptance.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d905348134c80f19793eefb761731b00559ddf3a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 28 15:28:46 2013 +1000

    Xi: if a passive async grab is activated from an emulated touch, accept
    
    Async grabs cannot replay events, they cannot reject, so we can do an early
    accept here.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8b0d21044956f3810199d5e2f38ce33069e97be7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 28 13:04:36 2013 +1000

    Xi: fix lookup in ActivateEarlyAccept
    
    ActivateEarlyAccept() can only be called from a grabbing client, so we can
    ignore the rest. And it's easy enough to get the client from that since
    9ad0fdb135a1c336771aee1f6eab75a6ad874aff.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d08bae297f9d7651edb1923d6b0d6b14b3d674fc
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 28 13:08:27 2013 +1000

    Xi: update the core listener state if we delivered the touch event
    
    If a TouchBegin is sent to a core client, that client is now the owner.
    
    By the time the TouchEnd is being processed, the client cannot replay
    anymore, so we can assume that this is the final touch end and we can clean
    up the touch record.
    
    Note: DeliverTouchEmulatedEvent is called for all listeners and immediately
    bails out if the client is not the owner and thus shouldn't yet get the
    event. Thus, check the return code.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 81554d274f04951c55ea7f2e38d0455e2025e08d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 25 11:21:07 2013 +1000

    Xi: if we delivered a TouchEnd to a passive grab, end it
    
    ef64b5ee97099618cf2e2cbbd3e471095695ae24 (which introduced the
    TOUCH_CLIENT_ID check) has a wrong assumption that generated touch events
    (TOUCH_CLIENT_ID) should not terminate passive grabs.
    This is untrue, a TouchEnd may be generated in response to a TouchReject
    higher up. If we _deliver_ an event to a client, terminate the passive grab.
    
    This requires us to count the actually delivered events too (first hunk).
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 363b6387da6e669099a2da3861c73a29808295a6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 13 11:26:11 2013 +1000

    dix: don't prepend an activated passive grab to the listeners
    
    If the device is currently grabbed as the result of a passive grab
    activating, do not prepend that grab to the listeners (unlike active grabs).
    Otherwise, a client with a passive pointer grab will prevent touch grabs
    from activating higher up in the window stack.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 9cc45c18ad1511adf3fb163dd4cefbef106edb23
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 13 10:49:23 2013 +1000

    Xi: not having an ownership mask does not mean automatic acceptance
    
    If we only have a single touch-grabbing client, setting the client as owner
    would clean up the touch once the TouchEnd was processed. If the client then
    calls XIAllowTouches() it will receive a BadValue for the touch ID (since
    the internal record is already cleaned up).
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

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

    input: print warnings if drivers don't initialize properly
    
    If drivers supply incorrect values don't just quietly return False, spew to
    the log so we can detect what's going on. All these cases are driver bugs
    and should be fixed immediately.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Dave Airlie <airlied@redhat.com>

commit 8a88b0ab52ba375ae84463a90503db88af10e368
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>

commit 34b0d07ebf4a7874fe7fd336bef5bbdd8debda1c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri May 10 09:44:29 2013 +1000

    dix: reset the OsBuffers after killing all clients
    
    ==21860== 24 bytes in 1 blocks are still reachable in loss record 85 of 397
    ==21860==    at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==21860==    by 0x61ED93: AllocateOutputBuffer (io.c:1037)
    ==21860==    by 0x61E15A: WriteToClient (io.c:764)
    ==21860==    by 0x457B30: ProcQueryExtension (extension.c:275)
    ==21860==    by 0x43596B: Dispatch (dispatch.c:432)
    ==21860==    by 0x425DAB: main (main.c:295)
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Dave Airlie <airlied@redhat.com>

commit 67c66606c760c263d7a4c2d1bba43ed6225a4e7c
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>

commit ddc11397a56c745b5d1fb377e9d9b1fcc73802c8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 27 18:36:39 2012 +1000

    dix: delete all callbacks before reset
    
    DeleteCallbackManager() introduced for better symmetry in the caller, they
    do the same thing.
    
    ==20085== 24 bytes in 1 blocks are still reachable in loss record 11 of 103
    ==20085==    at 0x4C2A4CD: malloc (vg_replace_malloc.c:236)
    ==20085==    by 0x43A097: CreateCallbackList (dixutils.c:837)
    ==20085==    by 0x43A1D3: AddCallback (dixutils.c:869)
    ==20085==    by 0x4B1736: GEExtensionInit (geext.c:209)
    ==20085==    by 0x41C8A8: InitExtensions (miinitext.c:389)
    ==20085==    by 0x5AC918: main (main.c:208)
    
    ==2042== 8 bytes in 1 blocks are still reachable in loss record 2 of 97
    ==2042==    at 0x4C2A4CD: malloc (vg_replace_malloc.c:236)
    ==2042==    by 0x4C2A657: realloc (vg_replace_malloc.c:525)
    ==2042==    by 0x4802F5: XNFrealloc (utils.c:1095)
    ==2042==    by 0x43A17A: CreateCallbackList (dixutils.c:855)
    ==2042==    by 0x43A1EF: AddCallback (dixutils.c:870)
    ==2042==    by 0x4B1752: GEExtensionInit (geext.c:209)
    ==2042==    by 0x41C8A8: InitExtensions (miinitext.c:389)
    ==2042==    by 0x5AC9E4: main (main.c:208)
    ==2042==
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Keith Packard <keithp@keithp.com>

commit 6993f8b459e25b1a7a0a03e209688a28ce6c2c56
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Apr 24 14:59:11 2013 +1000

    Xi: free barrier code at reset time
    
    ==29423== 16 bytes in 1 blocks are definitely lost in loss record 73 of 328
    ==29423==    at 0x4A06B6F: calloc (vg_replace_malloc.c:593)
    ==29423==    by 0x5987C0: XIBarrierInit (xibarriers.c:908)
    ==29423==    by 0x58F370: XInputExtensionInit (extinit.c:1300)
    ==29423==    by 0x4F33C3: InitExtensions (miinitext.c:337)
    ==29423==    by 0x4997DB: main (main.c:208)
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Keith Packard <keithp@keithp.com>

commit 042c6d861f7bb7038ddcdd6b59766fd9094d0e52
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>

commit d9848fb4b182ca21bacf28ed7410d1a502cb000e
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>

commit d903d17d7f006fa333265b8476063b189c20d082
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>

commit 58ef34ee6d0f68aa28f6f1a26e56f49ec85ed9bf
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>

commit 5ea21560dd071ea4ab87430000d087fd5fe1f092
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>

commit d3d4af5f9e505d444b6c82c6ea238206433fd24b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 27 18:59:45 2012 +1000

    dix: reset the registry before quitting
    
    Heaps of these:
    ==2042== 15,360 bytes in 120 blocks are still reachable in loss record 94 of
    97
    ==2042==    at 0x4C2A4CD: malloc (vg_replace_malloc.c:236)
    ==2042==    by 0x4C2A657: realloc (vg_replace_malloc.c:525)
    ==2042==    by 0x45FB91: double_size (registry.c:65)
    ==2042==    by 0x45FC97: RegisterRequestName (registry.c:85)
    ==2042==    by 0x460095: RegisterExtensionNames (registry.c:179)
    ==2042==    by 0x460729: dixResetRegistry (registry.c:334)
    ==2042==    by 0x5AC992: main (main.c:201)
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Keith Packard <keithp@keithp.com>

commit 6f44d672aa34d343f63f0ea81ad58154a66b57ec
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 27 17:17:41 2012 +1000

    xkb: free XkbRulesUsed and XkbRulesDflt on extension cleanup
    
    ==2547== 1 bytes in 1 blocks are still reachable in loss record 1 of 111
    ==2547==    at 0x4C2A4CD: malloc (vg_replace_malloc.c:236)
    ==2547==    by 0x64D1551: strdup (strdup.c:43)
    ==2547==    by 0x4802FB: Xstrdup (utils.c:1113)
    ==2547==    by 0x585B6C: XkbSetRulesUsed (xkbInit.c:219)
    ==2547==    by 0x58700F: InitKeyboardDeviceStruct (xkbInit.c:595)
    ==2547==    by 0x419FA3: vfbKeybdProc (InitInput.c:74)
    ==2547==    by 0x425A3D: ActivateDevice (devices.c:540)
    ==2547==    by 0x425F65: InitAndStartDevices (devices.c:713)
    ==2547==    by 0x5ACA57: main (main.c:259)
    
    and a few more of the above.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Keith Packard <keithp@keithp.com>

commit 623981ddaeb8836f3b0939e527c0e943f9c4e974
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>

commit dce40e2266200421647044ec7e856656d2ef952d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 26 12:34:21 2013 +1000

    Xi: always return BadMatch for XTest devices ChangeDeviceControl requests
    
    The only controls that still do something are DEVICE_RESOLUTION and
    DEVICE_ENABLE.
    
    XTest devices have no resolution to change, and they cannot be disabled. So
    skip the lot, and prevent a crash in the DDX when it's trying to
    de-reference pInfo->control_proc on device with no pInfo struct.
    
    Likewise, don't allow setting device mode or the valuators.
    XTest pointers are always relative, they don't have a mode.
    
    Test cases:
    xts5/XI/ChangeDeviceControl (1/10)
    xts5/XI/SetDeviceValuators (1/6)
    and a few others
    
    Reported-by: Knut Petersen <Knut_Petersen@t-online.de>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Keith Packard <keithp@keithp.com>

commit 23d1bc69f305edd5a6e2cfec3dfc84befda0881c
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>

commit 27b11f5c19d67e2f6784d86cb7df86bbab3b58bb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 15 11:19:10 2013 +1000

    Xi: fix comment - XI2 grabs aren't keysym grabs
    
    Comment dates back to a pre-release version of XI2 that supported keysym
    grabs. That never made it into a release, it was ditched before.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Keith Packard <keithp@keithp.com>

commit 2746c681639f9512e6e45fb8d0151b996b6aff7f
Merge: 1e6cf8e 9878e09
Author: Keith Packard <keithp@keithp.com>
Date:   Mon May 6 10:52:40 2013 -0700

    Merge remote-tracking branch 'alanc/master'

commit 1e6cf8ec20d07b73a11116564aba71b4e4291dcd
Merge: dbfeaf7 5860408a
Author: Keith Packard <keithp@keithp.com>
Date:   Mon May 6 10:20:21 2013 -0700

    Merge remote-tracking branch 'jturney/unused-but-set-variable-warning-fix'

commit dbfeaf70623a83e1a3f3255c94d52e0e04702837
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Tue Apr 30 14:30:18 2013 -0700

    xfree86: don't enable anything in xf86InitialConfiguration for GPU screens
    
    There's no point in turning on outputs connected to GPU screens during initial
    configuration.  Not only does this cause them to just display black, it also
    confuses clients when these screens are attached to a master screen and RandR
    reports that the outputs are already on.
    
    Also, don't print the warning about no outputs being found on GPU screens,
    since that's expected.
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
    Reviewed-by: Dave Airlie <airlied@gmail.com>

commit 5860408a19d956f8cebb7ae39cfdbfcebd5e6360
Author: Jon TURNEY <jon.turney@dronecode.org.uk>
Date:   Wed Apr 3 18:43:26 2013 +0100

    hw/xwin: Fix unused-but-set-variable warning in ProcWindowsWMFrameGetRect()
    
    /jhbuild/checkout/xorg/xserver/hw/xwin/winwindowswm.c: In function ‘ProcWindowsWMFrameGetRect’:
    /jhbuild/checkout/xorg/xserver/hw/xwin/winwindowswm.c:322:12: error: variable ‘ir’ set but not used [-Werror=unused-but-set-variable]
    
    Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
    Reviewed-by: Colin Harrison <colin.harrison@virgin.net>

commit bcfd523c150b34e9304d174ba812160c611f270d
Author: Jon TURNEY <jon.turney@dronecode.org.uk>
Date:   Wed Apr 3 18:34:38 2013 +0100

    hw/xwin: Fix unused-but-set-variable warning in winMWExtWMUpdateWindowDecoration()
    
    /jhbuild/checkout/xorg/xserver/hw/xwin/winwin32rootlesswindow.c: In function ‘winMWExtWMUpdateWindowDecoration’:
    /jhbuild/checkout/xorg/xserver/hw/xwin/winwin32rootlesswindow.c:189:11: error: variable ‘dwStyle’ set but not used [-Werror=unused-but-set-variable]
    
    Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
    Reviewed-by: Colin Harrison <colin.harrison@virgin.net>

commit fbf819c24dc080f166cff29bf46b0feb604c6b8c
Author: Jon TURNEY <jon.turney@dronecode.org.uk>
Date:   Wed Apr 3 16:40:35 2013 +0100

    hw/xwin: Fix unused-but-set-variable warning in winHotKeyAltTabPrimaryDD()
    
    /jhbuild/checkout/xorg/xserver/hw/xwin/winpfbdd.c: In function ‘winHotKeyAltTabPrimaryDD’:
    /jhbuild/checkout/xorg/xserver/hw/xwin/winpfbdd.c:518:20: error: variable ‘rcSrc’ set but not used [-Werror=unused-but-set-variable]
    
    Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
    Reviewed-by: Colin Harrison <colin.harrison@virgin.net>

commit 7dae1e59ce6077f475c04a41fa00096a74114064
Author: Jon TURNEY <jon.turney@dronecode.org.uk>
Date:   Wed Apr 3 16:33:39 2013 +0100

    hw/xwin: Fix unused-but-set-variable warning in winMinimizeWindow() when built !XWIN_MULTIWINDOWEXTWM
    
    /jhbuild/checkout/xorg/xserver/hw/xwin/winmultiwindowwindow.c: In function ‘winMinimizeWindow’:
    /jhbuild/checkout/xorg/xserver/hw/xwin/winmultiwindowwindow.c:813:20: error: variable ‘pScreenInfo’ set but not used [-Werror=unused-but-set-variable]
    
    Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
    Reviewed-by: Colin Harrison <colin.harrison@virgin.net>

commit b284666f09b77f9c2f048fee22015a353152a57f
Author: Jon TURNEY <jon.turney@dronecode.org.uk>
Date:   Wed Apr 3 16:27:45 2013 +0100

    hw/xwin: Fix unused-but-set-variable warning in winClipboardProc()
    
    /jhbuild/checkout/xorg/xserver/hw/xwin/winclipboardthread.c: In function ‘winClipboardProc’:
    /jhbuild/checkout/xorg/xserver/hw/xwin/winclipboardthread.c:88:25: error: variable ‘atomClipboardManager’ set but not used [-Werror=unused-but-set-variable]
    
    Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
    Reviewed-by: Colin Harrison <colin.harrison@virgin.net>

commit d414a09bb7f8d4440b36cbc6f0b4ca0eaefe5cbf
Author: Jon TURNEY <jon.turney@dronecode.org.uk>
Date:   Wed Apr 3 16:25:54 2013 +0100

    hw/xwin: Fix unused-but-set-variable warning in winWindowProc()
    
    /jhbuild/checkout/xorg/xserver/hw/xwin/winwndproc.c: In function ‘winWindowProc’:
    /jhbuild/checkout/xorg/xserver/hw/xwin/winwndproc.c:65:22: error: variable ‘s_hInstance’ set but not used [-Werror=unused-but-set-variable]
    
    Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
    Reviewed-by: Colin Harrison <colin.harrison@virgin.net>

commit 7726102671690eb28138d032c8398ac903b97606
Author: Jon TURNEY <jon.turney@dronecode.org.uk>
Date:   Wed Apr 3 16:24:08 2013 +0100

    hw/xwin: Fix unused-but-set-variable warning in winCopyWindowNativeGDI()
    
    /jhbuild/checkout/xorg/xserver/hw/xwin/winwindow.c: In function ‘winCopyWindowNativeGDI’:
    /jhbuild/checkout/xorg/xserver/hw/xwin/winwindow.c:131:15: error: variable ‘pwinRoot’ set but not used [-Werror=unused-but-set-variable]
    
    Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
    Reviewed-by: Colin Harrison <colin.harrison@virgin.net>

commit b9a2566a6e2f56a0335cd4a089b2066c06a67455
Author: Jon TURNEY <jon.turney@dronecode.org.uk>
Date:   Wed Apr 3 16:50:38 2013 +0100

    hw/xwin: Fix unused-but-set-variable warning in winFinishScreenInitFB()
    
    /jhbuild/checkout/xorg/xserver/hw/xwin/winscrinit.c:264:11: error: variable ‘pbits’ set but not used [-Werror=unused-but-set-variable]
    
    Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
    Reviewed-by: Colin Harrison <colin.harrison@virgin.net>

commit c97fbd39adbc0a8cb8537f40b12c091aee29221a
Author: Jon TURNEY <jon.turney@dronecode.org.uk>
Date:   Wed Apr 3 16:18:27 2013 +0100

    hw/xwin: Fix unused-but-set-variable warning in winIsFakeCtrl_L()
    
    /jhbuild/checkout/xorg/xserver/hw/xwin/winkeybd.c:331:17: error: variable ‘lastMessage’ set but not used [-Werror=unused-but-set-variable]
    
    Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
    Reviewed-by: Colin Harrison <colin.harrison@virgin.net>

commit cdb74fe17dcb3b5a9c61951f897deaf07f86775f
Author: Jon TURNEY <jon.turney@dronecode.org.uk>
Date:   Wed Apr 3 16:16:06 2013 +0100

    hw/xwin: Fix unused-but-set-variable warnings in windialog.c
    
    /jhbuild/checkout/xorg/xserver/hw/xwin/windialogs.c: In function ‘winChangeDepthDlgProc’:
    /jhbuild/checkout/xorg/xserver/hw/xwin/windialogs.c:432:22: error: variable ‘s_pScreen’ set but not used [-Werror=unused-but-set-variable]
    /jhbuild/checkout/xorg/xserver/hw/xwin/windialogs.c: In function ‘winAboutDlgProc’:
    /jhbuild/checkout/xorg/xserver/hw/xwin/windialogs.c:564:22: error: variable ‘s_pScreen’ set but not used [-Werror=unused-but-set-variable]
    
    Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
    Reviewed-by: Colin Harrison <colin.harrison@virgin.net>

commit f2fd8ec3725a61abbc831f0a9ec28fa2b7020c47
Author: Dave Airlie <airlied@redhat.com>
Date:   Wed Jan 9 12:52:13 2013 +1000

    gpu: call CreateScreenResources for GPU screens
    
    I didn't think we needed this before, but after doing some more
    work with reverse optimus it seems like it should be called.
    
    Reviewed-by: Keith Packard <keithp@keithp.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 8fcb9d91b69abc72ddef31b9f2e8585580c6cad2
Author: Dave Airlie <airlied@redhat.com>
Date:   Wed Jan 9 12:52:08 2013 +1000

    dix: allow pixmap dirty helper to be used for non-shared pixmaps
    
    this allows the pixmap dirty helper to be used for reverse optimus,
    where the GPU wants to copy from the shared pixmap to its VRAM copy.
    
    [airlied: slave_dst is wrong name now but pointless ABI churn at this point]


Reply to: