Commit Graph

4998 Commits

Author SHA1 Message Date
Peter Hutterer 6e17184486 Xi: Check for DestroyAccess when trying to delete a master device. 2008-01-18 17:52:38 +10:30
Peter Hutterer b0bf4308ac dix: print out an error when core type can't be converted.
Helps a bit in tracking down bugs.
2008-01-15 19:15:09 +10:30
Peter Hutterer 2a988ed75b xkb: don't do core key repeats, XI only is the path to light. 2008-01-15 19:14:46 +10:30
Peter Hutterer 4fd0885978 Xi: remove some leftovers from ProcessOtherEvents.
Core handling not needed anymore here.
2008-01-15 18:58:42 +10:30
Peter Hutterer 32aa252e98 dix: Process an input event as a single event, instead of two separate ones.
This is a significant shift in how input events are perceived. The common
approach was to treat a core event as a different entity than the XI event.
This could result in the XI event being delivered to a different client than
the core event. This doesn't work nicely if they come from the same device.

Instead, we treat an input event as a single event, that is delivered through
two separate APIs. So when delivering an event, we first try the XI event,
then the core event. If the window want's neither, we go to the parent and
repeat. Once either core or XI has been delivered, the processing stops.

Important: Different to the previous method, if a client registers for core
button events, the parent window will not get XI events. This should only
cause problems when you're mixing core and XI events, so don't do that!

Generic events don't fit into this yet, they cause me headaches.
2008-01-15 18:41:51 +10:30
Peter Hutterer 0969a9f749 dix: Emulate core events within CheckDeviceGrabs and ComputeFreezes.
This should restore the correct passive grab processing. When checking for
passive grabs, the core event is emulated and we check first for XI grabs on
the window, then for core grabs. Regardless of which event activates the grab,
the XI event is stored in the device's EQ.

When replaying the event, we take the XI event and replay it on the next
window, again including the emulation of the core event.
2008-01-15 11:31:12 +10:30
Peter Hutterer a83a0c5a14 dix: remove obsolete comment.
Pairings don't exist anymore and the documented issue is a non-issue now.
2008-01-13 16:14:29 +10:30
Peter Hutterer 38bf01bd1c Merge branch 'master' into mpx 2008-01-10 13:38:46 +10:30
Peter Harris 0883e838e2 xf86misc.c: Avoid use of swapped values 2008-01-09 18:43:55 -08:00
Alan Coopersmith 59a63d72a1 Fix reference to old versions of XFree86 to not say "Xorg 4.2 or earlier" 2008-01-09 18:42:58 -08:00
Peter Hutterer 4e85c7c322 Xi: keep a counter of buttons down to avoid duplicate press/release events.
If two devices are attached to the same master device, pressing button 1 on
each of them leads to two button presses from the same device. Some apps
really don't like that.

So we just put a counter in place and only send the first press and the last
release.
2008-01-09 17:36:39 +10:30
Peter Hutterer e070c2cbef mi: change infamous "Tossed event ..." error for something more explanatory.
Few whitespace errors fixed.
Two ErrorF's prefixed with [mi].
(cherry picked from commit 117458d2db)
2008-01-09 13:42:10 +10:00
Richard Purdie c31aead0fe [Kdrive] make XCalibrate 'orientation aware' 2008-01-08 12:31:47 +01:00
David Nusinow 30375cd6d1 Don't log DPMS enabling as being from xorg.conf if it's not 2008-01-07 20:57:30 -05:00
Peter Hutterer 981bb9f1e3 dix: set the correct number of valuators in valuator events.
(first_valuator + num_valuators) must never be larger than the number of axes,
otherwise DIX freaks out. And from looking at libXI, anything larger than 6 is
wrong too.
(cherry picked from commit 9f6ae61ad1)
2008-01-08 12:06:02 +10:30
Peter Hutterer 20ace6321a dix: don't try to confine cursor on screen restructure if there is no cursor.
Stops segfaulting when using xrandr. Yay.
2008-01-07 20:08:56 +10:30
Peter Hutterer 57a491e6d3 dix: init GrabPrivateKey to correct value.
Merge detritus from last pull.
2008-01-07 20:06:32 +10:30
David Nusinow 260505e3c5 Log enabling of DPMS even when it's not set in xorg.conf 2008-01-06 16:37:13 -05:00
Julien Cristau 7e76221659 Fix the name of the XFree86-Misc extension in the xorg.conf manpage. 2008-01-06 18:23:09 +01:00
Julien Cristau 59df687835 Document the AllowEmptyInput, AutoAddDevices and AutoEnableDevices flags
Add documentation for the new AllowEmptyInput, AutoAddDevices and
AutoEnableDevices server flags in the xorg.conf manpage.
2008-01-06 17:02:03 +01:00
Jeremy Huddleston 7d226d6a25 XQuartz: Cleanup for strict-prototyping
Also fixed DarwinEQEnqueue to match changes to the callback
And also use dpmsstubs.c rather than copying the code into darwin.c
(cherry picked from commit 4c5c30a4beb7a427b00b18097f548876ad3c11d7)
2008-01-05 03:17:27 -08:00
Jeremy Huddleston 11967dce11 XQuartz: Fixed copyright in About box for 2008. Happy New Year! 2008-01-04 23:10:10 -08:00
Jeremy Huddleston aca75f389e XQuartz: Flush the debug log for easier debugging
Also cleaned up formatting in xpr's eventHandler
(cherry picked from commit 16861d6d4239c7f3918332ef07752f1e211afb23)
2008-01-04 23:10:10 -08:00
Alan Hourihane 57468a696e Fix Line drawing with CapNotLast set in PolySegment. 2008-01-04 12:37:55 +00:00
Eamon Walsh 39cb782f28 XACE: DeleteCallbackList zeroes out its argument so don't do it twice. 2008-01-03 23:17:06 -05:00
Eamon Walsh 7f376f23db devPrivates rework: Free callback lists after use. 2008-01-03 23:17:06 -05:00
Eamon Walsh de18703d2a dix: Fix bug+leak in callback manager DeleteCallbackList function. 2008-01-03 23:17:06 -05:00
Alex Deucher 20eb26f9d1 Fix potential crasher in xf86CrtcRotate()
xf86CrtcRotate() is called by randr 1.2 drivers via xf86CrtcSetMode() or xf86SetDesiredModes()
during ScreenInit() at which point pScrn->pScreen is not set. If a user specifies a rotation
in their config file pScrn->pScreen is dereferenced and boom.
2008-01-03 22:53:36 -05:00
Peter Hutterer 249b9b30c1 Xi: remove file for the obsolete ChangePointerKeyboardPairing request handling. 2008-01-04 13:49:48 +10:30
Peter Hutterer e4a214e40d dix: don't free device's devPrivates manually, dixFreePrivates does it.
Merge detritus from last pull.
2008-01-04 13:32:53 +10:30
Eamon Walsh cd0603c2dc Bug #13765: Heap corruption in XC-SECURITY extension code. 2008-01-03 21:41:02 -05:00
Jeremy Huddleston e46d559739 XQuartz: Cleaned up color map configuration.
8 bit color still doesn't work, but the -depth command line argument now works properly.
(cherry picked from commit 6765949c27c053d22882f54337cfd09203aa5383)
2008-01-03 13:25:56 -08:00
Eamon Walsh 17a9714a67 Bug #13794: Update MBE extension devPrivates to new interface. 2008-01-03 14:46:54 -05:00
Peter Hutterer b2da44c76d dix: DoChangeKeyboardControl shouldn't be using inputInfo.keyboard. 2008-01-03 18:51:44 +10:30
Peter Hutterer 9cc41b88df Xi: ProcXSetClientPointer should directly check for the client from the id.
The window ID includes the client ID anyway, so we might as well just look up
the client directly instead of trying to get the window first and the client
from the window.

This also fixes a possible issue with XACE. If the client had permission to
write on the client but not on the window, the previous approach would have
failed.
2008-01-03 18:48:13 +10:30
Peter Hutterer 521fdc28d8 xfixes: switch a few inputInfo.pointer to PickPointer 2008-01-03 18:43:18 +10:30
Peter Hutterer 37194b1355 Xi: switch to using "rc" (instead of "err") as returncode.
All the rest of XI uses rc and returns rc in case of error, so make
mpx-related stuff comply. This stops the rest of XI sending the error
manually.
This is just a cosmetic change to be in line with the rest.
2008-01-03 18:36:33 +10:30
Peter Hutterer c7e9b67c54 dix: free ClassesRec when a BadAlloc occurs during CoreKeyboardProc. 2008-01-03 18:09:56 +10:30
Peter Hutterer 8da83836b6 Merge branch 'master' into mpx
Conflicts:

	XTrap/xtrapddmi.c
	Xext/security.c
	Xext/xprint.c
	Xext/xtest.c
	Xext/xvdisp.c
	Xi/exevents.c
	Xi/grabdevb.c
	Xi/grabdevk.c
	Xi/opendev.c
	Xi/ungrdev.c
	Xi/ungrdevb.c
	Xi/ungrdevk.c
	dix/cursor.c
	dix/devices.c
	dix/dixutils.c
	dix/events.c
	dix/getevents.c
	dix/main.c
	dix/window.c
	hw/xfree86/ramdac/xf86Cursor.c
	include/dix.h
	include/input.h
	include/inputstr.h
	mi/midispcur.c
	mi/miinitext.c
	mi/misprite.c
	render/animcur.c
	xfixes/cursor.c
	xkb/xkbAccessX.c
2008-01-03 17:04:54 +10:30
Alan Coopersmith ccf6636d2c Kill xf86getpagesize even harder (dummylib & ioport) 2008-01-02 19:28:33 -08:00
Alan Coopersmith dfd682b582 X.Org bug 4947/Sun bug 6646626: Xv extension not byte-swapping properly
X.Org Bugzilla #4947 <https://bugs.freedesktop.org/show_bug.cgi?id=4947>
Sun bug 6646626 <http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6646626>

Don't use swapped data after swapping it.   When done swapping data,
send the swapped data, not the address of the pointer to it, to the client.
2008-01-02 19:27:22 -08:00
Alan Coopersmith f6666dcc3b Add dixAllocatePrivate stub to dummylib for utils
Normally not necessary, except when building non-optimized/debug causes
the inline functions from private.h to appear in os-support/libxorgos.la
2008-01-02 19:19:55 -08:00
Alan Coopersmith 73f4229960 Fix names/types of new vuidMouse{Get,Set}ScreenPrivates macros 2008-01-02 19:17:54 -08:00
Alan Coopersmith 895073f6b4 Restore include & typedef needed by dtrace
996b621bec deleted a couple lines too many
2008-01-02 18:09:26 -08:00
Brian 306fde4082 regenerated to add framebuffer object tokens (bug 13800) 2008-01-01 09:27:44 -07:00
Brian 5c362c2eb2 regenerated, adds GL_MAX_3D_TEXTURE_SIZE (see bug 13811) 2008-01-01 09:08:01 -07:00
Adam Jackson 85365ddf16 EDID 1.4: If given a native pixel format, use it when inferring virtual. 2007-12-28 17:38:52 -05:00
Adam Jackson 312b30cb03 EDID 1.4: First detailed mode is always preferred.
... so act like it in the modelist generator, not just the parser.
2007-12-28 17:38:51 -05:00
Colin Harrison 9dbb73033a Rootless: Fix lvalue error from devPrivates change
Instead of trying to use an invalid expression as an lvalue, use the function
call instead.
2007-12-29 00:02:16 +02:00
Jurij Smakov 36ff05771b GL: Add GLX compile flags lost in modular X server changes
RISC chips that trap on unaligned loads and stores need to
define __GLX_ALIGN64.  This used to get added to the cflags
in the old *.cf files but it no longer does in the modular
X server.

Also, Alpha needs to pass -mieee to the compiler as well.

This is a simple backport of a patch that debian, and probably other
distributions, have been applying forever.  To the best of my
knowledge the patch was written by Jurij Smakov.  See Debian bug
number #388125.

I just checked and this has been rotting for more than a year in
freedesktop bugzilla as #8392.

Signed-off-by: David S. Miller <davem@davemloft.net>
2007-12-29 00:00:04 +02:00