Commit Graph

2250 Commits

Author SHA1 Message Date
Daniel Stone
2f0a800ffd config: move to block/wakeup handler 2006-12-06 23:24:24 +02:00
Daniel Stone
f2903c12bb SyntheticMotion: don't dereference sprite.screen when not using Xinerama
(cherry picked from aa052e43c6c293e14f78837e00c6b7581f9713bb commit)
2006-12-06 23:24:23 +02:00
Peter Hutterer
eb1d9f51af Ironing some glitches caused by the merge 2006-12-05 18:50:19 +10:30
Peter Hutterer
3c8f166022 Merge branch 'master' of git://anongit.freedesktop.org/git/xorg/xserver into mpx
Conflicts:

	dix/events.c
2006-12-05 18:28:33 +10:30
Eamon Walsh
ac90ce58ba Naming change: Security*Operation -> Xace*Operation 2006-12-01 21:15:41 -05:00
Eamon Walsh
f44f14fe56 Define calls away when not building XACE, allowing ifdef's to be removed. 2006-12-01 21:15:41 -05:00
Peter Hutterer
416f1bb99a mpx: SelectEvents and GetEventBase requests.
Some renaming and cleaning up in extinit.c
	MPXLastEvent added

Xi:	ShouldFreeInputMask() from XI is not static any more, used in mpx

dix:	GetPointerEvents() allocates MPX event for MPX devices.
	DeliverDeviceEvents() caters for MPX devices.
2006-12-01 15:56:52 +10:30
Alan Coopersmith
8956f63a94 Tell automake to STFU about the *.O files
automake will not stop whining about the *.O files not being in normal library
name format, so just tell automake they are PROGRAMS so it builds them without
bitching.
2006-11-30 19:53:29 -08:00
Peter Hutterer
bdf718907b dix: missing parameter to SetCursorPosition in CheckMotion ifndef MPX
mi:	missing include in misprite.c ifndef MPX
2006-11-28 18:06:34 +10:30
Peter Hutterer
e88bc0e55a mi: Bugfix: FreeCursor ignores negative refcounts.
mieq:   Bugfix: Motion notifies did overwrite DeviceMotionNotifies
2006-11-28 14:34:36 +10:30
Eric Anholt
b4b0d901d9 Merge branch 'randr-1.2'
Conflicts:

	dix/events.c
	dix/getevents.c
	hw/xfree86/common/xf86Mode.c
	hw/xfree86/dri/Makefile.am
	hw/xfree86/os-support/drm/xf86drm.c
	hw/xfree86/os-support/xf86drm.h
2006-11-27 15:43:15 -08:00
Peter Hutterer
85ea408e38 mi: malloc checks for misprite and midispcur, code cleanup
removed IsMPDev()
2006-11-27 18:07:16 +10:30
Peter Hutterer
1c7568b8a1 mi: closing memory leak, miPointer is freed in miPointerCloseScreen
bugfix: uninitialized pPointer in miPointerGetPosition ifndef MPX
	adding DeviceIntPtr parameter to ScreenRec's cursor functions.
	cleanup of miPointer code to use same scheme in each function

dix:	MPHasCursor() function determines checking whether to invoke
	cursor rendering.

animcur: adding DeviceIntPtr parameter to cursor functions but animcur relies
	 on the core pointer right now.

xfixes: adding DeviceIntPtr parameter to cursor functions but xfixes relies on
	the core pointer right now.

rac:	adding DeviceIntPtr parameter to cursor functions but RAC relies on
	the core pointer right now.

ramdac:	adding DeviceIntPtr parameter to cursor functions but ramdac relies on
	the core pointer right now.
2006-11-23 17:15:14 +10:30
Peter Hutterer
f52d53e060 dix: DeliverEventsToWindow adjusted for MPX
mi:     sprite debugging disabled
2006-11-22 17:58:57 +10:30
Peter Hutterer
8c16f21d5d dix GetSpriteWindow() adjusted for MPX
added device dependency for MPX to DoEnterLeaveEvents,
	EnterLeaveEvents, EnterNotifies, LeaveNotifies and
	FixUpEventFromWindow.
2006-11-22 17:06:47 +10:30
Peter Hutterer
70383105de mi: added DevToSprite() conversion function
fixed miSpriteRealize to use passed pDev argument instead of looping.

dix:    changed sprite dependency and added MPX functionality to parts of
        events.c (XineramaChangeToCursor, XineramaCheckPhysLimits,
        XineramaConstrainCursor)

Xi:	fix: accessing other->buttons for keyboard segfaulted the server
2006-11-22 15:27:16 +10:30
Alan Hourihane
33ff4cec5f Issue CloseDownDevices() in os/log.c and remove from dix/main.c.
This ensures that all calls to FatalError() will shutdown the input devices.
2006-11-21 21:23:17 +00:00
Peter Hutterer
efd4f3c6ff dix: WindowsRestructured() calls CheckMotion() on all devices
mi:	core pointer was checked twice in miSpriteReportDamage,
	miSpriteInstallColormap, miSpriteStoreColors, miSpriteSaveDoomedAreas
	and miSpriteRealiseCursor
	using damage bug (see comment in file) to avoid artefacts
2006-11-21 20:31:30 +10:30
Peter Hutterer
9db851c22d dix: moved sprite from static to be pointer of type SpritePtr
added SpriteRecs for MPX devices
	changed sprite dependency and added MPX functionality to parts
	of events.c (ConfineToShape, PostNewCursor, XineramaCheckMotion,
	CheckMotion, XineramaChangeToCursor, ChangeToCursor, CheckPhysLimits,
	PointerConfinedToScreen)
	added DeviceIntRec param to GetSpritePosition(). This required some
	minor changes in ddx, xtest, xkb and xfixes.

mi:	changed miPointer to pointer instead of static struct.
2006-11-21 18:15:04 +10:30
Peter Hutterer
447efdc01d mi: constrain MPX cursors to screen 2006-11-21 14:46:00 +10:30
Peter Hutterer
b1bbdf464d mi: added MPX to miSprite functions.
NOTE: This version will render multiple cursors but with an artefact each time
when devices alternate.
2006-11-20 17:58:30 +10:30
Alan Hourihane
c9a5f9d391 Shutdown input devices if FatalError occurs during startup.
Fixes Xdmx problems when the input device has been initialized
and the keyboard map has been destroyed.
2006-11-18 19:55:42 +00:00
Peter Hutterer
90bea69dfd mi:
added miCursorInfoRec to contain info of the MPX cursors.
        calling miUpdatePointerSprite() from event queue for MPX devices.
        adding device-specific processing to miPointer*() functions.

dix:    Call to SetCursorPosition in CheckMotion() temporarily disabled.

xfree86/common: call to miPointerUpdateSprite() disabled, is done from the EQ

NOTE: This build will not display cursor images.
BUG: The second mouse does to take correct x coordinates.
2006-11-17 18:03:43 +10:30
Peter Hutterer
c957a16180 dix: added isMPdev field to _DeviceIntRec, is used in GetPointerEvents()
mieq:   avoid merging events from different devices in mieqEnqueue()

xfree86/common
        isMPdev field used from xf86ActivateDevice(), xf86PostMotionEvent()
        and xf86PostButtonEvent()
2006-11-16 15:11:14 +10:30
Peter Hutterer
7ce2dc5784 dix:
merge with code cleanup from master
        GetPointerEvents treats events in the same way as XINPUT devices when flag
        has POINTER_MULTIPOINTER set.

xfree86/common:
    added XI86_MP_DEVICE flag and parsing in xf86ProcessCommonOptions
    added POINTER_MULTIPOINTER define. Is used in xf86PostMotionEvent and
    xf86PostButtonEvent for the flags that are passed into GetPointerEvents()

global:
    added flags to configure.ac to enable/disable MPX define
    added flags to dix-config.h.in to define MPX
2006-11-16 12:51:08 +10:30
Peter Hutterer
4d07b50372 dix: cleaned up GetPointerEvents() to avoid code duplication. 2006-11-16 10:55:15 +10:30
Peter Hutterer
f737cd925e o fix minor error in comment for GetPointerEvents() 2006-11-15 17:50:02 +10:30
Jurij Smakov
acb5ff4c73 ffs: handle 0 argument (bug #8968)
Handle an argument of 0 in ffs(), instead of looping indefinitely.
Add an ffs prototype to dix.h, and add includes to ffs.c.
(cherry picked from 34164e551e4c3909322d50b09835ca4ac1d49d68 commit)
2006-11-11 14:13:56 +02:00
Daniel Stone
e7900d68c3 remove trailing whitespace
Whitespace police in full effect.
2006-11-08 15:36:47 +02:00
Daniel Stone
b5438f7fb2 Get*Events: massive reorganisation
Reorganise the code logically, and put more comments in.
Clip valuators in proximity calls.
2006-11-08 15:30:03 +02:00
Daniel Stone
b55007d8cc SyntheticMotion: don't dereference sprite.screen when not using Xinerama 2006-11-08 15:29:17 +02:00
Daniel Stone
f93d10ce9b dix: remove staggeringly broken vendor workarounds
Dear SGI,
No.

Scant regards,
Daniel
2006-11-08 15:29:16 +02:00
Daniel Stone
c3ea1f7db4 dix/mi: still more warning fixes
Fix up prototypes for PrintChildren and PrintWindowTree in the dix.
Make miPrintRegion be unconditionally defined, and move the prototype into
regionstr.h.
Change a bunch of ScreenPtr pScreen = foo; to
ScreenPtr pScreen; pScreen = foo; in window.c, so we avoid unused variable
references (as inline REGION_* doesn't reference pScreen).
2006-11-08 15:29:16 +02:00
Daniel Stone
3a9b964258 dix: add missing prototypes
Add missing prototype for ffs, and include headers from ffs.c.
Move PostSyntheticMotion prototype to input.h.
2006-11-08 15:29:16 +02:00
Daniel Stone
6716488fa2 dix: remove unused debug code 2006-11-08 15:29:16 +02:00
Daniel Stone
51813d77bf dix: remove unused variable 2006-11-08 15:29:15 +02:00
Laurence Withers
ae58d349c1 CreateColormap: fix return value (bug #7083)
Return BadMatch when an unsupported visual type is given, not BadValue --
this is correct according to the spec.
2006-11-08 15:29:15 +02:00
Adam Jackson
05f1c30246 Merge branch 'autoconfig-for-7.2' 2006-11-07 18:42:54 -05:00
Keith Packard
1dcda4f3c5 Avoid dereferencing sprite.screen when Xinerama is not running. (#8925)
With Xinerama support built into the X server but not in use,
sprite.screen is NULL and yet the SyntheticMotion
macro would dereference it. Avoid that by just passing sprite.screen
to PostSyntheticMotion which can then dereference it when Xinerama is
enabled.

Also, define PostSyntheticMotion in dixevents.h and include dixevents.h in
getevents.c
2006-11-07 01:29:51 -08:00
Eamon Walsh
3d39c02fe6 More work on Bug #8875: revert previous fix and try using client argument
instead of serverClient.  Also don't use totalClientSize as it is not
initialized until after the first call to InitClient.
2006-11-06 21:25:52 -05:00
Alan Coopersmith
49a26681b2 Add DTrace probe points for X server <-> client communications
See http://people.freedesktop.org/~alanc/dtrace/ for more details
2006-11-03 12:54:43 -08:00
Alan Coopersmith
58bf9a142d PostSyntheticMotion needs to be extern, not static, since it's in getevents.c 2006-11-02 14:43:02 -08:00
Daniel Stone
81728558a0 input: add non-keyboard bell ringing function
Add a generic 'ring the bell' function (console bell on Linux and BSD,
/dev/audio on Solaris), and add DDX functions for this.  Make this the
core keyboard's bell.
Port Xvfb and Xnest to this.
Port XFree86 to this, with OS-specific hooks for Linux, BSD, and Solaris
taken from foo_io.c in the old layer.
2006-11-01 23:10:26 +02:00
Daniel Stone
196c5836f4 CoreKeyboardProc: annotate with FIXME
Setting an empty keymap by default isn't wildly useful.
2006-10-27 01:27:31 +03:00
Daniel Stone
f9a1e456f8 CoreKeyboardProc: don't leak keymap and modmap
SetKeySymsMap does a copy here, so try not to leak them.
2006-10-27 01:25:39 +03:00
Daniel Stone
85212eb504 getValuatorEvents: make sure we put MORE_EVENTS in the right places
Make sure we put MORE_EVENTS in with the device id if there are, in fact,
more valuator events coming.
2006-10-27 01:23:58 +03:00
Daniel Stone
aabc087998 GetPointerEvents: always ensure correct number of events
Ensure correct number of valuator events are returned, and that we always
increment events correctly.
2006-10-25 02:21:39 +03:00
Daniel Stone
b9e180e632 port all users to the new DIX motion history API
Port KDrive, Xvfb, and Xnest, as well as the virtual core devices, to the
new motion history API.  Make GetPointerEvents also update the history.
2006-10-25 01:09:19 +03:00
Daniel Stone
5b38eb69cd dix: add motion history support
Add motion history support (sort of based on the XFree86 DDX's
implementation) to the DIX.
2006-10-25 01:08:29 +03:00
Daniel Stone
11fb58be77 miscellaneous warning fixes
Use the correct type for time, and fix the mi prototype of EnqueueEvent.
2006-10-25 01:07:36 +03:00
Daniel Stone
cccf7ae0ff GetProximityEvents: add (untested) function
Add untested first guess at what GetProximityEvents should look like.
2006-10-23 06:55:21 +03:00
Daniel Stone
35fa4ac12b GetPointerEvents: break into separate functions
Break out clipAxis, clipValuators, and getValuatorEvents, into
separate functions, to be used by the proximity event code.
2006-10-23 06:23:45 +03:00
Daniel Stone
eec1822591 dix/getevents: move SyntheticMotion to getevents.c
Mostly, this is just a cheesy hack to ensure that getevents.o gets
included when linking.  Sigh.
2006-10-23 02:48:30 +03:00
Daniel Stone
bc701a1429 dix/getevents: cosmetic cleanups, remove keymap copy from GKVE
Remove keymap copy from GetKeyboardValuatorEvents, as
SwitchCoreKeyboard now takes care of this for us.
Remove unused variable and function prototype.
Update comments to be as informative as possible.
2006-10-23 00:08:32 +03:00
Daniel Stone
be21630164 dix, Xi: make use of deviceid in DevicePresenceNotify
Use the deviceid and control fields in DevicePresenceNotify since
the last push to inputproto to send a DPN whenever a control changes
on a device.
2006-10-22 16:33:02 +03:00
Daniel Stone
77e724585f minor formatting fixes 2006-10-22 11:45:12 +03:00
Zephaniah E. Hull
e26a494f41 Merge branch 'input-hotplug' of git+ssh://git.freedesktop.org/git/xorg/xserver 2006-10-21 04:26:14 -04:00
Zephaniah E. Hull
736b0d5078 DEVICE_TOUCHSCREEN becomes DEVICE_ABS_CALIB.
Update the DEVICE_ABS_CALIB stuff to include the new elements.

New DEVICE_ABS_AREA support.

dev->touchscreen becomes dev->absolute, with _CALIB and _AREA stuff in it.

Update xfree86 to compile with this, kdrive needs an update too.
2006-10-21 04:24:49 -04:00
Daniel Stone
aeba855b07 move keymap copy to event processing, from enqueuing
Move the keymap copying to event processing time (in
ProcessInputEvents), instead of being at event enqueuing time.
Break SetCore{Pointer,Keyboard} out into separate functions.
Change mieqEnqueue to take a device pointer, that asks for the
_original_ device associated with this event.
2006-10-20 00:43:11 +03:00
Daniel Stone
a8d3dad9d9 xi: add DEVICE_ENABLE control
Add DEVICE_ENABLE control, which allows runtime enabling and disabling
of specific devices.
2006-10-20 00:43:11 +03:00
Daniel Stone
fc9b5f84b2 dix/devices: add devices in proper forward order
Add devices in forward order with the normal linked list convention.
Previously, AddInputDevice would add all the devices in reverse order to
off_devices, before they were added again in reverse order to devices with
EnableDevice.
This just makes both work in forward order, which provides the ordering as
you'd expect when hotplugging devices (i.e. adds them to the head, not the
tail).
2006-10-15 20:01:01 +03:00
Daniel Stone
4d8030076e dix: move GetKeyboardEvents/GetPointerEvents to a new file, export symbols
Move GKE and GPE to a separate file, to help stem the events.c explosion.
Mark GKE/GKVE/GPE as _X_EXPORT.
2006-10-14 22:14:07 +03:00
Daniel Stone
6afc7c2846 dix/devices: remove XACE merge debris 2006-10-14 15:54:35 +03:00
Daniel Stone
335b503c5e Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug 2006-10-13 18:10:45 +03:00
Daniel Stone
33406da096 GetKeyboardEvents: add first_valuator argument to GKVE 2006-10-08 23:20:56 +03:00
Daniel Stone
1546a39814 GetKeyboardValuatorEvents: also take first_valuator param
Take a first_valuator parameter, which specifies the first valuator.
2006-10-08 21:40:53 +03:00
Daniel Stone
41bb9fce47 mipointer: take device arguments, split miPointerAbsoluteCursor
Update mipointer API to take a device argument to (almost) all functions,
and split miPointerAbsoluteCursor into a couple of separate functions.
Remove miPointerAbsoluteCursor call from mieq, as we now deal with it in
GetPointerEvents.
Make miPointerSetPosition (successor of miPointerAbsoluteCursor) take
pointers to x and y, so it can return the clipped values.
Modify callers of miPointer*() functions to generally use the new
functions.
This should fix things with multi-head setups.
2006-10-08 20:34:32 +03:00
Daniel Stone
be8dfafd1d warning cleanups
Fix still more warnings.
2006-10-08 20:32:16 +03:00
Daniel Stone
c2fab469b6 dix/devices: clean up debugging 2006-10-08 18:26:26 +03:00
Daniel Stone
b559cbb160 dix/CoreProcessKeyboardEvent: remove debugging for every key event
Also change #ifdef DEBUG/ErrorF/#endif to DebugF in FixKeyState.
2006-10-08 16:23:14 +03:00
Daniel Stone
58314756ae GetPointerEvents: add first_valuator parameter
Add a first_valuator parameter.  Looks correct by inspection, but untested
with first_valuator != 0 as yet.
2006-10-08 16:18:05 +03:00
Daniel Stone
84f5d2291c GetPointerEvents: fix relatively harmless typo
Change !(cp->button || !cp->valuator) to (!cp->button || !cp->valuator).
2006-10-08 15:30:24 +03:00
Daniel Stone
2cf1098436 dix/events, mi/eq: remove utterly ridiculous debugging
Remove debugging which can cause long-lived Xorg logs to grow well above 1GB
if built with --enable-debug.
2006-09-30 17:05:46 +03:00
Daniel Stone
5d99e05f05 Merge branch 'input-hotplug' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug 2006-09-29 00:35:07 +03:00
Daniel Stone
ad631afcf3 make core keyboard/pointer map functions act on all core-sending devices
Make Set{Keyboard,Modifier,Pointer}Mapping act on all devices which send core
events.
Change LegalModifier to accept a DeviceIntPtr.
2006-09-29 00:34:23 +03:00
Adam Jackson
d05e0a97bb Enable DPMS by default. 2006-09-14 18:49:12 -04:00
Zephaniah E. Hull
5893375786 Warning fix, and a syntax fix in a #if 0 section of code. 2006-09-10 15:50:51 -04:00
Eamon Walsh
9deb579dc9 Zero out newly created ExtensionEntry structures, but only after the
devPrivates have been initialized.
2006-09-08 15:25:17 -04:00
Eamon Walsh
cec392656c Zero out newly allocated ClientRec structures.
This is required to initialize the devPrivates to a known state.
2006-09-08 15:24:23 -04:00
Daniel Stone
5436fce090 [PATCH] GetKeyboardValutorEvents: be even more careful
Don't accept devices without a keyboard feedback class.
2006-08-29 15:18:06 +03:00
Eamon Walsh
13c6713c82 Add four new XACE hooks: auditing, key event notification, window init 2006-08-25 18:17:01 -04:00
Daniel Stone
2b06c69c8f GKVE: pass correct arguments to XkbCopyKeymap
Fix horrendous thinko.  Indicators now work perfectly.
2006-08-24 14:51:26 +03:00
Daniel Stone
6323a11d0d XkbCopyKeymap: optionally send NewKeyboardNotify/MapNotify events
Optionally send a NewKeyboardNotify or MapNotify event when copying the
keymap; modify GetKeyboardValuatorEvents to make use of this.
2006-08-23 18:53:04 +03:00
Daniel Stone
8f8487ff99 xkb/gkve: copy XKB map, not pointer-assign
Write a new function to copy an XKB map (does everything but geometry at
the moment), and use that instead of nasty pointer assignments.
2006-08-23 14:33:41 +03:00
Eamon Walsh
52ba722e4c Merge branch 'XACE-modular' into my-XACE-modular 2006-08-21 18:49:31 -04:00
Alan Coopersmith
05541259bd Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into XACE-modular 2006-08-21 13:07:41 -07:00
Daniel Stone
a56b98bb04 dix: enable null root cursor
Enable a blank root cursor, selectable with --enable-null-root-cursor at
configure time.
2006-08-18 18:10:09 +03:00
Daniel Stone
0704bb298c Merge branch 'master' into input-hotplug 2006-08-18 17:30:14 +03:00
Daniel Stone
a1ac0440bb dix: fix whiteroot thinko
Note to self: run git update-index _after_ testing, not just before.
2006-08-18 17:30:00 +03:00
Daniel Stone
cb0a565d2b dix: add whiteroot flag
Add a -wr option to use a white root window, and use a BackPixel rather
than BackPixmap for both white and black root windows.
2006-08-18 17:04:48 +03:00
Daniel Stone
633b6a69f5 Merge branch 'master' into input-hotplug 2006-08-17 21:25:14 +03:00
Daniel Stone
7da51447ea events.c: fix tiny XEvIE thinko
Make sure xeviehot gets updated after the ConfineToShape() call.
2006-08-17 21:24:07 +03:00
Daniel Stone
5d082f0563 events.c: make XEvIE a little less verbose
Change a lot of:
 #ifdef XEVIE
 xeviehot.x =
 #endif
 sprite.hot.x = ...
 #ifdef XEVIE
 xeviehot.y =
 #endif
 sprite.hot.y = ...
to one single
 #ifdef XEVIE
 xeviehot.x = sprite.hot.x;
 xeviehot.y = sprite.hot.y;
 #endif
at the end of the functions.
2006-08-17 21:20:58 +03:00
Daniel Stone
95dbfcf882 events.c: make XEvIE a little less verbose
Change a lot of:
 #ifdef XEVIE
 xeviehot.x =
 #endif
 sprite.hot.x = ...
 #ifdef XEVIE
 xeviehot.y =
 #endif
 sprite.hot.y = ...
to one single
 #ifdef XEVIE
 xeviehot.x = sprite.hot.x;
 xeviehot.y = sprite.hot.y;
 #endif
at the end of the functions.
2006-08-17 21:18:18 +03:00
Daniel Stone
c6c39afde3 dix/events.c: add YAFIXME
Add another FIXME to the cacaphony of XXX and FIXMEs in this file.
2006-08-17 21:13:09 +03:00
Daniel Stone
cd3f744b1f fix missing brace, trim unused variables 2006-08-15 15:54:13 +03:00
Daniel Stone
34228d8b28 GPE: fix absolute button events / GKVE: (non-XKB) don't repeat lock keys
Fix absolute button events in GPE, where we would previously send valuator
events without bumping numEvents accordingly, causing the core event to
go missing.
In the non-XKB path in GKVE, implement proper lock behaviour (one press to
enable, one press to disable, discard releases).
Fix debug_events prototype.
2006-08-15 15:23:53 +03:00
Daniel Stone
d6433be3cc Merge branch 'master' into input-hotplug 2006-08-12 21:50:52 +03:00
Daniel Stone
2bf9e3dc1e make DIX more tolerant of devices without a CtrlProc (Debian #269860)
Return BadDevice on client requests for devices without a CtrlProc, instead
of tanking horribly.
2006-08-12 21:50:39 +03:00
Daniel Stone
984babe86b remove obsolete vendor defines
Remove random behaviour changes for SGI and MetroLink.
2006-08-12 21:43:38 +03:00
Alan Coopersmith
c2535f6792 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into XACE-modular 2006-08-10 10:37:59 -07:00
Daniel Stone
45bce556e8 GetMaximumEventsNum: be more conservative
Be slightly more conservative in our maximum event count if we're using
XKB (and thus don't need to count the extra repeat events).
2006-08-10 18:02:47 +03:00
Daniel Stone
3832a3d7db GKVE: don't repeat modifiers when using XKB
Make sure we don't ever repeat modifiers (previously was repeating when
using XKB); only do explicit KP/KR repeats in the non-XKB case.  XKB will
take care of repeating when we're using it.
2006-08-10 14:13:51 +03:00
Daniel Stone
9f188416bb core devices: clear devicePrivates on close 2006-08-10 14:00:34 +03:00
Daniel Stone
539d1f3347 GKVE/GPE: have DDX allocate events
Don't allocate events on every GKE/GKVE/GPE call, just have the DDX manage
it instead.  Introduce GetMaximumEventsNum(), which is the maximum number
of events these functions will ever produce.
2006-08-10 14:00:14 +03:00
Daniel Stone
fe351a711e GKVE: send XkbMapNotify, not XkbNewKeyboardNotify
Sending MapNotify is more correct in this case than NKN, so do that.
2006-08-08 14:54:10 +03:00
Daniel Stone
3108981631 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug 2006-08-08 12:01:12 +03:00
Daniel Stone
12dbd8a02f remove optional R3 backwards compatibility
Remove the permitOldBugs flag, which enabled backwards compatbility with
broken R2/R3 era clients.
2006-08-07 23:43:40 +03:00
Daniel Stone
458c63a841 enable adding devices after removal of a middle device
Allow new devices to be added after a device that _wasn't_ the last on the
list was removed, by ensuring inputInfo.numDevices always increases, and
never decreases.
2006-08-07 23:02:17 +03:00
Daniel Stone
a31d11a7a8 GKVE: get rid of bogus double-release check
Get rid of a bogus double-release check which broke non-XKB servers.
2006-08-07 23:01:23 +03:00
Daniel Stone
d1c18af27e GPE: use button map for DBP/DBR, not just BP/BR
Make sure we use the button map for extended events, not just core.
2006-08-07 21:11:38 +03:00
Daniel Stone
98fdf874ee move all autorepeat logic to DIX
Move core autorepeat logic for keyboards down to the DIX, remove it from
KDrive.
2006-08-07 16:51:39 +03:00
Eamon Walsh
9138d5a51e Make SecurityLookupIDBy* part of the base functionality. 2006-08-03 18:24:04 -04:00
Eamon Walsh
96e45626c4 Rebase Security extension to use devPrivates for storing security state. 2006-08-02 20:29:59 -04:00
Eamon Walsh
3c23dec596 Call ClientStateCallback on serverClient devPrivates initialization. 2006-08-02 13:39:49 -04:00
Eamon Walsh
b04d648547 Added devPrivates support to the ExtensionEntry structure. 2006-07-31 19:35:08 -04:00
Daniel Stone
7465010d59 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug 2006-07-21 19:05:41 -04:00
Adam Jackson
0aaac95b0d Remove RCS tags. Fix Xprint makefile braindamage. 2006-07-21 17:56:00 -04:00
Daniel Stone
7711c56d2e xephyr: fix keymap, pointer; dix: fix multiple axes
Initialise our axes properly in the DIX, and make sure we don't
unnecessarily clip maxval when it's not set.
Fix keymap copying in Xephyr (to some degree: it's still broken),
and set nAxes and nButtons properly.
2006-07-21 15:19:54 -04:00
Daniel Stone
463e0fe35b update KDrive to new input API
Update KDrive to fit the new API (mieqInit and InitPointerDeviceStruct), and
include InitTouchscreenDeviceStruct in the DIX.
2006-07-21 15:19:54 -04:00
Daniel Stone
1987af8c49 add virtual core devices to DIX
Add virtual core devices, with proper keymaps etc, to the DIX.
2006-07-21 15:19:53 -04:00
Daniel Stone
e896195eab remove extraneous font debugging code
Some of it didn't compile, and some of it was just unnecessary.
2006-07-21 15:19:53 -04:00
Daniel Stone
ecfad74c48 add support for built-in fonts
Use --enable-builtin-fonts to only use built-in fonts, and avoid loading
fonts.
2006-07-21 15:19:52 -04:00
Daniel Stone
a274e7296b add GetPointerEvents/GetKeyboardEvents framework
Add GetPointerEvents (with XFree86 pointer acceleration) and GetKeyboardEvents
to the DIX.  Extend the ValuatorClass structure to account for same.
2006-07-21 15:19:51 -04:00
Daniel Stone
02a9531156 add basic D-BUS configuration mechanism
Also move LookupDeviceIntRec into the DIX, and add InputOption type, and
NewInputDeviceRequest prototype (DIX requests DDX to add a device).  Does not
link without an implemented NIDR.
2006-07-21 15:19:49 -04:00
Daniel Stone
84683f19b4 get rid of XFree86LOADER, XFree86Server, XFree86Module, and IN_MODULE
Get rid of almost all uses of these definitions.  They're still defined for
delinquent out-of-tree drivers, and also for the Mesa build.  As well as
for miinitext.c.  But largely gone.
2006-07-18 18:17:38 -04:00
Tilman Sauerbeck
63f13e01ee Bug #7097: do case-insensitive comparison for some hotkeys.
xkb's strcasecmp implementation has been moved to the dix so it's now
safe to just use strcasecmp().
2006-07-08 11:33:44 +02:00
Alan Coopersmith
90af38fa0c Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver
Conflicts:

	Xext/appgroup.c
2006-06-21 16:23:31 -07:00
Alan Coopersmith
3e098efa35 Correct ifdef - should be XACE, not XCSECURITY 2006-06-21 16:21:03 -07:00
Alan Coopersmith
77c947b900 Move Xserver internal API for appgroup from Xagsrv.h to appgroup.h
(Since all use is inside the xserver module, might as well keep the header
 in the Xserver module instead of in proto/XExt to allow easier synchronization
 of updates.)
2006-06-21 16:18:41 -07:00
Greg Kroah-Hartman
865884d050 fix compiler warning in dix/xpstubs.c when XPRINT is not defined 2006-06-21 14:16:28 -07:00
Alan Coopersmith
d44b2a0a57 Move Xserver API for security extension to securitysrv.h 2006-06-20 18:22:51 -07:00
Eamon Walsh
37f0ae0245 Replace XC-SECURITY code with XACE security hooks
(cherry picked from 8526cd6395 commit)
2006-06-19 17:09:37 -07:00
Greg Kroah-Hartman
8f5aa38abf fix compiler warning about XKB_IN_SERVER redefinition 2006-06-07 12:33:44 -07:00
Daniel Stone
a9ed5a8790 Kill LBX, too. 2006-06-01 22:06:41 +00:00
Daniel Stone
32be08ba72 Remove horrendously ugly DDX backward-compatibility. 2006-06-01 19:22:38 +00:00
Adam Jackson
bc0c56c407 Bug #6924: Restore the ABI for DrawableRec and ColormapRec to the state
they were in prior to the fix for #6438. Based on a patch from Andy
    Ritger.
2006-05-22 15:47:56 +00:00
Fredrik Höglund
e1fc15a85f Put the screensaver extension back in the Xext module.
Move the screenSaverSuspended variable to DIX globals.
Restore the old link order for the Xorg and Xdmx binaries.
2006-04-05 21:08:45 +00:00
Søren Sandmann Pedersen
acca49b1a5 Fri Mar 31 12:37:16 2006 Søren Sandmann <sandmann@redhat.com>
Fix copyright statement
2006-03-31 17:39:35 +00:00
Deron Johnson
e31e8ace10 Fix composite overlay window bug 6411 2006-03-29 17:51:54 +00:00
Adam Jackson
7deaaa797c Big old pile of warning fixes. 2006-03-28 01:21:00 +00:00
Fredrik Höglund
ae935832fa Refactored the screensaver and DPMS timer code to use the screensaver timer
for both screensaver and DPMS. Removed the SetDPMSTimers() and
    FreeDPMSTimers() functions.
2006-03-24 20:50:13 +00:00
Adam Jackson
f105b8da11 Mark everything in dixsym.c as _X_EXPORT. 2006-02-15 20:44:13 +00:00
Adam Jackson
010d6effa6 Mark everything in {ext,font}sym.c as _X_EXPORT. 2006-02-15 19:15:32 +00:00
Søren Sandmann Pedersen
c2dedf4d17 Thu Jan 12 17:09:18 2006 Søren Sandmann <sandmann@redhat.com>
Add new functions to enable and disable events on Map and Unmap.
Use them here to make sure Composite redirect doesn't cause Map/UnmapNotify
    events that would confuse window managers.
2006-01-12 22:14:56 +00:00
Kevin E Martin
7c00afd0ec Define XFree86Server only where it is required. 2005-12-02 06:02:45 +00:00
Kevin E Martin
da5d66f2ff Fix usage of XFree86LOADER/XFree86Module/IN_MODULE and update loadable
module builds to reflect this change.
2005-11-29 16:39:33 +00:00
Kevin E Martin
90cf8e339b Fix vendor string and release version reported by the servers. Enable
security, lbx and xevie extensions to give us parity with monolithic
    tree.
2005-11-03 17:08:06 +00:00
Kristian Høgsberg
dc6ac8e46f Add DGA configure option and add various files that we should be dist'ing.
Simplify xf86DefModeSet.c rule a bit.
2005-10-05 21:38:40 +00:00
Daniel Stone
c3d6799cee Bug #594: CAN-2005-2495: Fix exploitable integer overflow in pixmap
creation, where we could create a far smaller pixmap than we thought,
    allowing changes to arbitrary chunks of memory. (Søren Sandmann
    Pedersen)
2005-09-13 01:33:19 +00:00
Daniel Stone
5c5c51fa6d Initialise private arrays with calloc, rather than standard malloc.
(Benjamin Herrenschmidt)
2005-09-05 07:40:50 +00:00
Eric Anholt
ea80b5db25 Fix a use-after-free of cursor data by refcounting for the sprite.current
reference. The particular path seen was XFixes' ReplaceCursor()
    resulting in the sprite.current being freed, but then it getting
    accessed during the ChangeToCursor() that happens as a result of
    WindowHasNewCursor().
2005-08-25 22:11:04 +00:00
Stuart R. Anderson
d8a1241a24 Add a safety check to catch when numDepths GCperDepthexceeps MAXFORMATS 2005-07-23 17:49:45 +00:00
Alan Coopersmith
ead37b0869 Mark variables modified in signal handlers as volatile (part of Sun bug id
4496504)
2005-07-16 20:52:25 +00:00
Kevin E Martin
4bf4530864 Fix keyboard state when XEVIE is not enabled (Keith Packard). 2005-07-15 05:48:29 +00:00
Daniel Stone
0bb669638f Change <X11/misc.h> and <X11/os.h> to "misc.h" and "os.h". 2005-07-03 08:53:54 +00:00
Daniel Stone
e03198972c Add Xtrans definitions (FONT_t, TRANS_CLIENT) to clean up warnings.
Add XSERV_t, TRANS_SERVER, TRANS_REOPEN to quash warnings.
Add #include <dix-config.h> or <xorg-config.h>, as appropriate, to all
    source files in the xserver/xorg tree, predicated on defines of
    HAVE_{DIX,XORG}_CONFIG_H. Change all Xfont includes to
    <X11/fonts/foo.h>.
2005-07-03 07:02:09 +00:00
Daniel Stone
826a6f029f Continuing Makefile cleanup; add DIX_CFLAGS and XORG_CFLAGS everywhere. 2005-07-02 18:59:44 +00:00
Daniel Stone
9b1debcdb6 Change all misc.h and os.h references to <X11/foo.h>. 2005-07-01 22:43:43 +00:00
Daniel Stone
657b4cb8aa Change all misc.h and os.h references to <X11/foo.h>. 2005-07-01 22:32:34 +00:00
Daniel Stone
ded56b1a74 Adding initial build system. 2005-07-01 20:29:53 +00:00
Daniel Stone
f0c76610b7 Conditionalise another use of XEvIE. 2005-06-15 16:46:59 +00:00
Daniel Stone
28ee3dd955 Conditionalise building of XEvIE code with #ifdef XEVIE. 2005-06-15 16:27:16 +00:00
Adam Jackson
988ffddfe0 Bug #2799: Input shape. (Keith Packard) 2005-06-10 04:01:14 +00:00
Alan Coopersmith
62343f5162 Bugzilla #2800 <https://bugs.freedesktop.org/show_bug.cgi?id=2800> Xevie
extension crash with signal 11 on keyboard Bugzilla #1205
    <https://bugs.freedesktop.org/show_bug.cgi?id=1205> Xevie client
    receives two KeyPress events on consumed keys when XKB is enabled
Patch #2223 <https://bugs.freedesktop.org/attachment.cgi?id=2223> Fixes for
    both of these and some other Xevie bugs (Derek Wang - Sun Microsystems)
2005-05-22 01:12:49 +00:00
Roland Mainz
a369d390a8 xc/config/cf/X11.tmpl
xc/programs/Xserver/Xext/Imakefile
xc/programs/Xserver/dix/Imakefile
xc/programs/Xserver/dix/main.c
xc/programs/Xserver/dix/xpstubs.c
xc/programs/Xserver/mi/miinitext.c
//bugs.freedesktop.org/show_bug.cgi?id=2792) attachment #2526
    (https://bugs.freedesktop.org/attachment.cgi?id=2526) bug 2792 part II:
    Make Xprint headers in dix/, mi/, os/ and Xext/ conditional on whether
    the Xprint extension is build or not. Patch by Egbert Eich
    <eich@freedesktop.org> and Roland Mainz <roland.mainz@nrubsig.org>.
2005-04-24 01:10:12 +00:00
Roland Mainz
13fcfee373 //bugs.freedesktop.org/show_bug.cgi?id=3118) attachment #2525
(https://bugs.freedesktop.org/attachment.cgi?id=2525) Get Xprint server
    working again which was broken by the
05/04/20 05:49:46 commit commit (the CPP symbol |XPRINT| is not universally
    available when building the Xserver and should be used with care).
2005-04-23 22:55:40 +00:00
Daniel Stone
c7c27e6187 Change xf86bigfont.h to X11/extensions/xf86bigfont.h for includes. 2005-04-20 13:33:54 +00:00
Daniel Stone
956dfa22f6 Conditionalise usage of Xprint functions and headers. 2005-04-20 12:49:46 +00:00
Daniel Stone
2cdfab0ed7 Change keysymdef.h to X11/keysymdef.h for include statement. 2005-04-20 12:42:02 +00:00
Daniel Stone
292c4cff26 Fix includes right throughout the Xserver tree:
change "foo.h" to <X11/foo.h> for core headers, e.g. X.h, Xpoll.h;
change "foo.h", "extensions/foo.h" and "X11/foo.h" to
    <X11/extensions/foo.h> for extension headers, e.g. Xv.h;
change "foo.[ch]" to <X11/Xtrans/foo.[ch]> for Xtrans files.
2005-04-20 12:25:48 +00:00
Roland Mainz
26aec10ada xc/programs/Xserver/Imakefile
xc/programs/Xserver/Xprint/DiPrint.h
xc/programs/Xserver/Xprint/Imakefile
xc/programs/Xserver/Xprint/Init.c
xc/programs/Xserver/Xprint/ddxInit.c
xc/programs/Xserver/dix/Imakefile
xc/programs/Xserver/dix/main.c
xc/programs/Xserver/dix/xpstubs.c
xc/programs/Xserver/os/Imakefile
//bugs.freedesktop.org/show_bug.cgi?id=2792) attachment #2193
    (https://bugs.freedesktop.org/attachment.cgi?id=2193) Fix build bustage
    when |PrintOnlyServer| is set to |NO|. Patch by Roland Mainz
    <roland.mainz@nrubsig.org> and Julien Lafon <julien.lafon@gmail.com>.
2005-03-23 19:58:45 +00:00
Roland Mainz
8d0e520721 xc/programs/Xserver/dix/atom.c
xc/programs/Xserver/dix/colormap.c
xc/programs/Xserver/dix/cursor.c
xc/programs/Xserver/dix/devices.c
xc/programs/Xserver/dix/dispatch.c
xc/programs/Xserver/dix/dixfonts.c
xc/programs/Xserver/dix/dixutils.c
xc/programs/Xserver/dix/events.c
xc/programs/Xserver/dix/extension.c
xc/programs/Xserver/dix/gc.c
xc/programs/Xserver/dix/glyphcurs.c
xc/programs/Xserver/dix/grabs.c
xc/programs/Xserver/dix/main.c
xc/programs/Xserver/dix/pixmap.c
xc/programs/Xserver/dix/privates.c
xc/programs/Xserver/dix/property.c
xc/programs/Xserver/dix/resource.c
xc/programs/Xserver/dix/swaprep.c
xc/programs/Xserver/dix/swapreq.c
//bugs.freedesktop.org/show_bug.cgi?id=2560) attachment #2037
    (https://bugs.freedesktop.org/attachment.cgi?id=2037) ANSI-fy
    Xserver/dix code. The conversion preserves the comments which annotate
    variables. These have been moved into doxygen(esque?) "stubs" above
    each function. Patch by Mike Owens <etc@filespanker.com>.
2005-03-07 23:02:59 +00:00
Alan Coopersmith
de68a3339b Allow overriding DPMS defaults (timeouts & default for on/off) from
#defines/-D options.
programs/Xserver/hw/xfree86/common/xf86DPMS.c Use defaultDPMSEnabled global
    for the default state of DPMS if not set in any config files.
programs/Xserver/hw/xfree86/os-support/sunos/solaris-sparcv8plus.S Add
    support for required assembly inline functions for Sun compilers on
    Solaris/sparc.
Add support for Solaris/sparc libraries.
2004-09-22 17:20:56 +00:00
Roland Mainz
9297c6149f Fix for http://freedesktop.org/bugzilla/show_bug.cgi?id=1404 - Fixing
random crashes (like in DAMAGE code etc.) in Xnest due uninitalised
    GetWindowPixmap. Original patch by Alexander Gottwald
    <ago@freedesktop.org>
2004-09-18 23:18:35 +00:00
Egbert Eich
a3aa6a2d86 Unregistering events in XSelectInput() when unregistering IM filter
callbacks may be a bad idea as others may be interested in this event.
    Removed the call to XSelectInput() altogether as we are in root window
    anyway (Lubos Lunak).
Fix size of a variable that gets assigned the value of SmartScheduleTime
    (long) to long. This should help to prevent smart scheduler lockup on
    64 bit systems due to overruns (Andreas Schwab).
2004-09-15 09:05:22 +00:00
Keith Packard
a29bfbd3d0 Empty damage object when freeing pixmap.
Wrap InstallColormap so that the DDX doesn't see colormaps from our ARGB
    visual (avoids lovely green tint to screen). Also, set visual->nplanes
    of ARGB visual to all used (including alpha) planes so DIX can set
    pixel values correctly.
Translate automatic update regions correctly to account for borders
When nplanes == 32 (ARGB visuals), mask in all ones for alpha values to
    allocated pixel values.
Remove redundant fbAddTraps declaration
Fix fbCopyWindow to work on non-screen pixmaps (not needed yet)
Replace broken clipping code with that from modular tree.
Respect subWindowMode.
2004-08-13 08:16:14 +00:00
Kevin E Martin
57eab4dc87 - Fix building without Xfixes extension
- Fix building without Xevie
- Fix building without DPMS
- Fix "Extensions" section config file support to accept general boolean
    options
2004-08-09 02:08:35 +00:00
Keith Packard
cff0043a34 Remove alpha-related fields from visual structure to retain binary
compatibilty. Applications using ARGB visuals will need to use Render
    or other mechanisms to compute pixel values instead of AllocColor
2004-08-07 00:58:21 +00:00
Eric Anholt
d690556d49 Integrate COMPOSITEWRAP branch including composite wrapper. This code still
has several issues, including:
- CopyWindow and PaintWindow wrappers missing (will be done soon)
- Some segfaults seen in the Render wrappers.
- Xprt server build breaks with Composite.
- DDXs must be recompiled for Composite due to VisualRec size change.
- Composite bugs pointed out by Deron Johnson in email.
Also, reorder XFixes initialization according to comments by Keith which
    are also in xserver CVS.
2004-07-31 08:24:14 +00:00
Eric Anholt
326729ebca - Add some XFIXES bits apparently missed in the DAMAGE-XFIXES merge
- Add missing XCSECURITY ifdef.
- Sync some whitespace to xserver CVS and surrounding style.
2004-07-31 01:48:27 +00:00
Stuart Kreitman
e68bfc8016 Integration of XEVIE branch to trunk, Some updates from latest reviews
https://freedesktop.org/bugzilla/show_bug.cgi?id=947 Modified Files:
    events.c
2004-07-31 01:33:40 +00:00
Egbert Eich
0ba1559946 Adding a colormap index to the InitColormapPrivate() func call. Without it
it was completely useless.
test if colormap with index really exists in the list of installed maps
    before using it.
2004-07-30 21:10:46 +00:00
Kevin E Martin
dd7077cadc Cleaned up code since client's saveSet is no longer defined as a pointer*
(forgot one change in previous check-in)
2004-07-30 01:15:57 +00:00
Kevin E Martin
813d75f9d3 Use LibraryTargetName when not building a loadable server
Move extern function declarations to window.h
Cleaned up code since client's saveSet is no longer defined as a pointer*
Added externs back in
Change #if to #ifdef to fix compiler warning
Add function declarations that were inadvertently removed by previous check
    in
Disable extensions that are not (yet) supported by DMX
2004-07-29 23:43:40 +00:00
Stuart Kreitman
0bca00e120 Integration of DAMAGE-XFIXES branch to trunk
https://freedesktop.org/bugzilla/show_bug.cgi?id=859
Modified Files: dispatch.c dixutils.c events.c window.c
2004-07-29 18:43:58 +00:00
Kevin E Martin
7976ee51af Add Distributed Multihead X (DMX) support 2004-06-30 20:06:56 +00:00
Alexander Gottwald
ed7f92e791 Bug 778: add ddxBeforeReset 2004-06-21 13:44:14 +00:00
Roland Mainz
36e3e5430e Fix for http://pdx.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=541 -
Xorg Xprt may crash with "Freeing resource id=40200000 which isnt
    there"
2004-04-25 22:42:09 +00:00
Egbert Eich
2fb5886200 Merging XORG-CURRENT into trunk 2004-04-23 19:54:30 +00:00
Egbert Eich
dae90c3af9 Importing vendor version xf86-4_4_99_1 on Sun Mar 14 00:26:39 PST 2004 2004-03-14 08:34:49 +00:00
Egbert Eich
867451f1ab Importing vendor version xf86-4_4_0 on Wed Mar 3 04:09:24 PST 2004 2004-03-03 12:12:50 +00:00
Egbert Eich
df0313d35b readding XFree86's cvs IDs 2004-02-26 13:36:15 +00:00
Egbert Eich
147aae87fd Importing vendor version xf86-4_3_99_903 on Wed Feb 26 01:21:00 PST 2004 2004-02-26 09:23:53 +00:00
Egbert Eich
3c64b65d80 Importing vendor version xf86-012804-2330 on Thu Jan 29 00:06:33 PST 2004 2004-01-29 08:08:57 +00:00
Kaleb Keithley
12e532010b XFree86 4.3.99.902 (RC 2) 2003-12-19 20:55:39 +00:00
Kaleb Keithley
adc7f9a4eb XFree86 4.3.99.16 Bring the tree up to date for the Cygwin folks 2003-11-25 19:29:01 +00:00
Kaleb Keithley
d568221710 XFree86 4.3.0.1 2003-11-14 16:49:22 +00:00
Kaleb Keithley
9508a382f8 Initial revision 2003-11-14 16:48:57 +00:00
Kaleb Keithley
ded6147bfb R6.6 is the Xorg base-line 2003-11-14 15:54:54 +00:00