Commit Graph

2481 Commits

Author SHA1 Message Date
Paulo Ricardo Zanoni
82f97e1c0c Enable event delivery for multiple heads.
Requires moving the spriteTrace into the DeviceIntRec and adjusting a few
functions to take in device argument, most notably XYToWindow().

Cursor rendering on the second screen is busted.
2007-04-26 15:58:50 +09:30
Peter Hutterer
09436fb7c3 Disable devices before removing, remove unrecoverable devices. 2007-04-24 23:11:44 +09:30
Peter Hutterer
c7e2ba0c9b Use DevicePresence events to tell the client about enabled/disabled devices.
Include the device id in the event sent to the client.
2007-04-24 23:11:44 +09:30
Brian
ce099a9b78 fix bug in which maxKeysPerModifier wasn't getting set 2007-04-23 12:34:01 -06:00
Peter Hutterer
d61ed6c8a2 Check for NULL devices in CloseDevice(). 2007-04-19 18:08:55 +09:30
Eamon Walsh
9cee4ec5e6 xace: change the semantics of the return value of XACE hooks to allow
arbitrary X status codes instead of just TRUE/FALSE.

The dix layer in most cases still does not propagate the return value of
XACE hooks back to the client, however.  There is more error propagation
work to do.
2007-04-17 16:01:56 -04:00
Eamon Walsh
1f06d32ef5 Merge branch 'master' into XACE-SELINUX
Conflicts:

	dix/privates.c
2007-04-17 12:10:22 -04:00
Peter Hutterer
b6aec7f6f9 Change FocusIn/Out semantics to match Enter/Leave semantics. 2007-04-17 16:51:16 +09:30
Peter Hutterer
451d5464b4 Change enter/leave semantics for events with detail Notify{Nonlinear}Virtual.
Core enter/leave events with detail Notify{Ancestor|Inferior|Nonlinear} are
only sent for the first/last pointer to enter/leave. Events with detail
Notify{Nonlinear}Virtual are sent at all times, but not to those windows that
currently have one or more pointers inside their boundaries.
2007-04-17 11:17:04 +09:30
Peter Hutterer
ea27b09d3a Deliver FocusIn/FocusOut events for all devices.
Don't use VCK in SetInputFocus and DeliverFocusedEvent.
2007-04-13 17:15:22 +09:30
Peter Hutterer
7ccebc50b9 Documentation for events.c. 2007-04-13 13:08:44 +09:30
Peter Hutterer
2bb3c81fc1 Use paired kbd instead of VCK for EnterLeaveEvents, sanitize variable naming. 2007-04-12 16:35:43 +09:30
Peter Hutterer
e7b47b1758 Change core enter/leave semantics for multiple pointers.
Send EnterNotify when first device enters the window, LeaveNotify when the
last device leaves the window. Additional devices will not cause additional
Enter/LeaveNotifies.
2007-04-12 16:24:42 +09:30
Peter Hutterer
d4dad6f84f Merge branch 'master' into mpx
Conflicts:

	configure.ac
	dix/events.c
	hw/xfree86/common/xf86Xinput.c
2007-04-12 11:11:03 +09:30
Magnus Vigerlöf
4f05f9591e Input: Always add devices with first available ID
Scan the device list when adding a new device, and make sure we can use
the first available ID, instead of always incrementing.
2007-04-10 23:58:20 +03:00
Magnus Vigerlöf
07c56abf84 Input: Plug memory leak in device free
Remember to also free the motion history, if we're using the DIX-managed
history.
2007-04-10 23:58:20 +03:00
Daniel Stone
e92743bc98 getevents: Copy modifier state from extended to core devices
Make core events carry the same modifier state as the extended events, so
that holding down Ctrl on keyboard A and pressing Q on keyboard B won't
cause your app to quit.
2007-04-10 23:58:20 +03:00
Stefan Huehner
1f6741db19 Bug #10560: Code-Cleanup: function declarations () -> (void)
X.Org Bugzilla #10560: <https://bugs.freedesktop.org/show_bug.cgi?id=10560>
Patch #9511 <https://bugs.freedesktop.org/attachment.cgi?id=9511>
2007-04-09 14:33:15 -07:00
Peter Hutterer
f1f8b562aa Alloc sprite memory in devices' devPrivates, allow undisplaying cursors.
Improve memory usage by allocating the sprite's memory only to devices that
actually have a sprite and provide means to remove a device's cursor from the
screen (more hotplugging, yay!).
This commit breaks ScreenRec's ABI.
2007-04-09 19:31:59 +09:30
Peter Hutterer
7cef789fa1 Close down virtual core devices when closing all devices. 2007-04-09 18:37:48 +09:30
Peter Hutterer
6081b8c76f Don't explicitly init sprite for VCP, EnableDevice() will take care of that. 2007-04-09 18:35:47 +09:30
Peter Hutterer
00b1d52f41 Adding some comments to devices.c. 2007-04-09 18:32:00 +09:30
Peter Hutterer
aa77ffb510 Fix: pick new ClientPointer when device is closed. 2007-04-09 18:29:00 +09:30
Eamon Walsh
1d550bb2c5 devPrivates rework: minor fix; use calloc and avoid initialization. 2007-04-05 12:12:58 -04:00
Eamon Walsh
ed75b05651 dix: add new, combined resource lookup function. Move all dix lookup API
deprecated so far to a new file dix/deprecated.c.  Remove the deprecation
warnings for the time being.
2007-04-04 16:00:15 -04:00
Eamon Walsh
63e46e4fc3 devPrivates rework: properly free devPrivates on compatibility structures,
excluding pixmap.
2007-04-04 15:59:51 -04:00
Peter Hutterer
676188531b Unrealize cursor only once, not per device. 2007-04-04 17:35:06 +09:30
Eamon Walsh
14aea12cad xace: forgot one of the hook call arguments. Add it. 2007-04-03 15:23:56 -04:00
Eamon Walsh
353e19fd5e devPrivates rework: zero out newly allocated private space. 2007-04-03 14:06:02 -04:00
Peter Hutterer
207f710d16 Delete all grabs from all devices when deleting a window. 2007-04-03 19:02:14 +09:30
Peter Hutterer
5f382c9c7f Merge branch 'master' into mpx 2007-04-03 15:07:18 +09:30
Peter Hutterer
f09ee168e2 Revert "o fix minor error in comment for GetPointerEvents()"
This reverts commit 96ce17aa94.
2007-04-03 15:07:00 +09:30
Peter Hutterer
9b0b340668 Make GrabDevice differ between core grabs and device grabs. 2007-04-03 15:06:26 +09:30
Peter Hutterer
e8777a91f3 Merge branch 'master' into mpx
Conflicts:

	Xi/closedev.c
	Xi/exevents.c
	Xi/extinit.c
	Xi/listdev.c
	dix/window.c
	hw/xfree86/common/xf86Xinput.c
	include/extinit.h
	mi/mipointer.c
2007-04-02 15:36:26 +09:30
Peter Hutterer
96ce17aa94 o fix minor error in comment for GetPointerEvents() 2007-04-02 11:30:47 +09:30
Peter Hutterer
63d8f01819 dix: Fix wrong cursor refcount.
Calloc cursor struct to ensure devPrivates are zeroed out and don't
        increase the refcnt for devices automatically when allocating a new
        cursor. Use new DeviceIsPointerType() to detect if device is a pointer
        _before_ device has been activated and can thus be identified and set
        up grab functions accordingly. This way we can increase the refcnt
        when we get a pointer grab.
2007-03-30 14:59:43 +09:30
Peter Hutterer
20e4314b17 dix: Try to get closer to the correct refcnt for cursors.
This commit introduces a memory leak, as the refcnt never seems to get
        down to 0 and thus cursors will not be freed. Solves the problems with
        GNOME segfaulting every 30 seconds though.
2007-03-29 19:12:32 +09:30
Peter Hutterer
0c607f4b19 dix: Pick keyboard instead of using virtual keyboard in Grab/UngrabKey. 2007-03-29 14:43:50 +09:30
Eamon Walsh
299ff4c829 xace: provide creation-time resource hook call in CreateWindow(). 2007-03-28 12:57:11 -04:00
Eamon Walsh
0331c6a8fc Merge branch 'master' into XACE-SELINUX 2007-03-26 10:28:05 -04:00
Eamon Walsh
f7c5aa0dc0 Remove dead NEED_DBE_BUF_BITS code. 2007-03-26 10:21:44 -04:00
Adam Jackson
4b5802ddbd General DIX static and dead code cleanup. 2007-03-25 17:57:54 -04:00
Adam Jackson
9a0f25de7c Static cleanups, dead code deletion. 2007-03-25 12:27:01 -04:00
Peter Hutterer
ac2356843e dix: Increase allocation size for core keyboard keymap to avoid buffer overrun when copying keymap from extension devices. 2007-03-25 15:24:47 +09:30
Peter Hutterer
5f9c10e8da Clean up DeviceIntPtr, prepare for Server 1.4 ABI. Move sprite-related
information into a new SpriteInfoRec, remove isMPDev flag.
2007-03-25 15:00:03 +09:30
Peter Hutterer
e54311395e dix: Increase allocation size for core keyboard keymap to avoid buffer
overrun when copying keymap from extension devices.
2007-03-25 09:41:33 +09:30
Eamon Walsh
84a066cc88 xace: pass serverClient as default argument to dixChangeWindowProperty
instead of NullClient.
2007-03-23 10:33:53 -04:00
Eamon Walsh
e1cc68add0 xace: drop the name argument from the property callback. 2007-03-22 17:33:16 -04:00
Eamon Walsh
1b766ffc06 dix: reorganize property code to better support xace hook; requires new API for
changing a property, dixChangeWindowProperty, taking an additional client argument.
2007-03-22 15:55:35 -04:00
Eamon Walsh
1b58304ac8 xace: add new argument to property hook for property structure itself. 2007-03-22 14:07:01 -04:00