Commit Graph

4999 Commits

Author SHA1 Message Date
Eamon Walsh a95bb52b43 devPrivates rework: add missing include of dix/privates.h 2007-11-19 16:34:38 -05:00
Michel Dänzer ea9c63e93b DEFAULT_DPI was undefined here. 2007-11-19 15:53:49 +01:00
Adam Jackson db9ae86353 Bump DEFAULT_DPI to 96.
75 is just nonsense.
2007-11-18 11:57:01 -05:00
Tormod Volden ee2d4626dc Bug #12932: Use DEFAULT_DPI in randr1.2 instead of hardcoded 96. 2007-11-18 11:56:31 -05:00
Jernej Azarija a46c30c3be Bug #12531: RRModesForScreen can fail to allocate. 2007-11-18 11:45:13 -05:00
Adam Jackson fac7e7e4e1 Document the requirement for interleaved code and declarations. 2007-11-18 11:39:26 -05:00
Peter Hutterer bad96e5a86 dix: getevents.c remove trailing whitespaces. 2007-11-18 15:13:45 +10:30
Peter Hutterer 75e5e9f88c Xi: add missing XI_DeviceClassesChangedMask to XI filters array. 2007-11-18 15:12:50 +10:30
Adam Jackson d15339a92c Bug #9725: Don't look in root's $HOME for config files, that's just confusing. 2007-11-17 22:12:10 -05:00
Adam Jackson 748cfbc820 Disinfect mi/ of mfb. 2007-11-17 21:23:05 -05:00
Daniel Stone a969db091c XKB: Don't ring the bell when we don't have a BellProc (bug #13246) 2007-11-17 22:51:39 +01:00
Ben Skeggs c89b543198 exa: set driverPriv to NULL before it might get used later with garbage 2007-11-17 18:20:49 +10:00
Adam Jackson 514ba4ca72 Bug #1612: Use a stronger PRNG.
Currently just reads from /dev/urandom, and only on Linux.
2007-11-16 19:53:11 -05:00
Peter Hutterer 12dd6e9911 dix: reset MD's devPrivate classes to NULL before device initialisation.
XkbInitKeyboardDefviceStruct may call FatalError if it fails. FatalError then
cleans up all the devices, resulting in a segfault if the pointer is
uninitialised.
2007-11-16 17:23:09 +10:30
Peter Hutterer be3321c2e9 dix: Free both current classes and original classes when closing an MD. 2007-11-16 12:12:41 +10:30
Peter Hutterer 3c39dd19ec Xi: Deep-copy full list of FeedbackClasses.
All feedback classes are linked lists and the whole list has to be duplicated,
not just the first entry.

Xkb stuff still missing.
2007-11-16 12:12:14 +10:30
Peter Hutterer 497862df2f dix: explicitly float all attached SDs before closing down devices.
Some drivers flush on shutdown, if our SD is still attached we'd be trying to
route an event through a non-existing device.
2007-11-16 11:20:22 +10:30
Peter Hutterer 9de1ebe2a8 dix: Fix up class restoring when last SD disconnects.
Old code was fundamentally broken, fixes now are:
- free the MDs current device classes
- copy the device classes instead of flipping the pointers
- check for the old MD, not the new one.
2007-11-16 10:45:28 +10:30
Adam Jackson 20fd478324 Small static cleanups on dix/ 2007-11-15 17:01:33 -05:00
Adam Jackson 70e50fa51f Allocate RRCrtcRecs with calloc. 2007-11-15 17:00:37 -05:00
Aaron Plattner 8d0cd1cd2c Fix a really dumb typo. 2007-11-15 12:21:25 -08:00
Aaron Plattner f797c96845 Save pixmap allocation hints into the PixmapRec. 2007-11-15 12:21:25 -08:00
Adam Jackson 6bc50de021 Simplify system resource range setup.
osRes only existed to get copied into Acc.  Waste of effort.
2007-11-15 15:03:58 -05:00
Adam Jackson e1ff14a924 Delete some dead code in X -configure. 2007-11-15 14:45:49 -05:00
Adam Jackson 01cfba7522 Nuke the debugging allocator.
This has never been hooked up in the modular build, and can not possibly
have built since before 6.7.  Clearly no one's using it.
2007-11-15 14:27:03 -05:00
Adam Jackson c67b9c5fc3 Clean up some garbage in driver enumeration. 2007-11-15 14:24:36 -05:00
Adam Jackson 0706e5e790 Eliminate some redundancy in autoconfiguration.
We already synthesize Monitor and Module sections for you, no need to
specify them explicitly in the fake config buffer.
2007-11-15 14:15:09 -05:00
Adam Jackson 2c01a49bf0 Don't sleep(1) at exit on any platform. 2007-11-15 13:32:59 -05:00
Peter Hutterer 83926cb8be Xi: Only alloc modifierKeyMap if <slave device>->maxKeysPerModifier > 0
Sometimes (e.g. on my debian ppc box) maxKeysPerModifier of the SD is 0. So we
try to malloc(0), bringing the whole server down with a FatalError because it
looks as if the malloc failed. This is bad, so only alloc if we actually have
something to alloc.
2007-11-15 17:41:07 +10:30
Peter Hutterer 070195dbf8 Xi: fix up sloppy class copying causing segfaults. 2007-11-15 16:27:18 +10:30
Peter Hutterer 53539688ca dix: SetKeySymMap should alloc the map if dst doesn't have one already. 2007-11-15 16:23:48 +10:30
Peter Hutterer b40646dc10 dix: Add FreeDeviceClass and FreeFeedbackClass for centralised xfree.
Ensures that we only have one way of freeing a device class to avoid leaks in
ChangeMasterDeviceClasses and other places.
2007-11-15 15:43:44 +10:30
Tiago Vignatti 4c9cc82fc4 For some reason "-nozap" appeared twice. Weird. 2007-11-15 01:46:11 -02:00
Peter Hutterer 18833d648f Xi: reset xkb-stuff to NULL after copying (DeepCopyDeviceClasses)
Having two devices point to the same xkb stuff causes SIGABRTs.

Also, don't init a MD's xkbInfo unless the SD has an xkbInfo.
2007-11-15 12:13:59 +10:30
Peter Hutterer 1635832c16 Revert "xkb: disable xkb key repeats (temporarily)"
This reverts commit 2b1d946392.
2007-11-15 11:35:07 +10:30
Peter Hutterer b05246696d Xi: free XkbSrvLedInfos as well when freeing an MD's device classes. 2007-11-15 11:31:43 +10:30
Peter Hutterer c758e5a664 dix: Make sure core MDs copy their initial classes before they are used.
Anything in dev->key, dev->valuator etc. of a MD must always be a copy of the
original class. The intial classes of an MD (the ones set up before an SD is
attached) as well, as we may have to restore them if no SD is attached
anymore.
2007-11-15 10:47:20 +10:30
Peter Hutterer a08665d4d3 mi: don't call SwitchCoreKeyboard, we switch during event processing now. 2007-11-15 10:42:29 +10:30
Peter Hutterer 64711a0948 Xi: When switching MD classes, make a deep copy instead of pointer flip.
Turns out it's really really hard synchronising device state across multiple
duplicated events if they all share the same struct. So instead of doing so,
when the SD changes deep-copy all it's classes into the MD. The MD then has
the same capabilities, but the state can be set separately. This should fix
xkb, key state, repeat etc. problems.

Updating the device state allows us to remove the SwitchCoreKeyboard from the
event gathering, it's all done during event processing now.
2007-11-15 10:41:34 +10:30
Adam Jackson 3dde66f96b Start 1.4.99 2007-11-14 15:10:59 -05:00
Adam Jackson c3897ca709 Add -pogo option for init/teardown performance testing. 2007-11-14 14:46:41 -05:00
Adam Jackson cecac79445 Don't sleep(1) at server exit. 2007-11-14 14:46:22 -05:00
Eamon Walsh 1603130236 Merge branch 'master' into XACE-SELINUX
Conflicts:

	Xext/xace.c
	Xext/xace.h
2007-11-14 13:35:50 -05:00
Eamon Walsh f207e69d62 xselinux: adjust receive hook to use new synthetic_event class. 2007-11-14 12:23:29 -05:00
Peter Hutterer cc4586df60 Xi: toggle the public.devPrivate as well when switching device classes.
The master needs to have the same devPrivate as the slave, in case a client
issues a request that goes down to the driver.
Example: if a driver wants to ring the keyboard bell, it'll pick a keyboard.
The KeyClassPtr will direct it to the matching method in the driver, but
because the MD doesn't have the devPrivate set the driver segfaults.
Even if all drivers were updated to not dereference the nullpointer, nothing
would actually ever happen.

To avoid this, we flip the master's public.devPrivate to the last SDs
devPrivate.
2007-11-14 14:27:52 +10:30
Peter Hutterer b44c1118f3 dix: Return Success from ProcBell if no BellProc is set.
We must not return BadDevice, this causes applications to crash. If no
BellProc is set, just quietly do nothing and report a Success.
2007-11-14 14:08:21 +10:30
Peter Hutterer 240b10fa9c Xi: Move updating the device state from POE into separate function.
POE now only deals with processing the event and calling the appropriate
delivery methods. Actually modifying the device state is done in
UpdateDeviceState. This separation should make it easier to avoid setting the
state twice when master events are processed.
2007-11-14 13:38:56 +10:30
Peter Hutterer 0bdfeb55fc Xi: remove RegisterPairingClient handling. Deprecated with device hierarchy. 2007-11-13 17:31:20 +10:30
Peter Hutterer e96d926d64 Xi: remove trailing whitespaces. 2007-11-13 17:14:35 +10:30
Peter Hutterer 5031238aad dix: remove trailing/wrong whitespaces from devices.c and events.c 2007-11-13 16:58:23 +10:30