Commit Graph

7870 Commits

Author SHA1 Message Date
Adam Jackson
a2c5ee36b2 EDID: Be more cautious about finding vendor blocks.
Many old monitors zero-fill the detailed descriptors, so check for that
to avoid a useless warning like:

(WW) RADEON(0): Unknown vendor-specific block 0
2009-05-21 10:20:48 -04:00
Peter Hutterer
73c7398aaf dix: 'namespace' HAS_OLD_SLAVE and HAS_NEW_SLAVE.
We need more flags for this in the near future, so let's namespace them now.
2009-05-21 11:59:17 +10:00
Peter Hutterer
5b5e3fa277 xfree86: treat other drivers as mouse drivers in the config.
Historically, if no input device was referenced in the ServerLayout,
the server would pick the first "mouse" device found in the xorg.conf.
This patch gives evdev, synaptics, vmmouse and void the same status. If
there is a section in the config file using this driver - use it as the core
pointer.

Device selection is in driver-order, not in config-order. If a "mouse"
device is listed after a "synaptics" device, the "mouse" device gets
preference. This replicates the original behaviour.

This code only takes effect if AllowEmptyInput is off and there is no core
pointer in the server layout.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-21 11:59:16 +10:00
Peter Hutterer
1cce55cc03 input: rename device->type to device->xinput_type.
This type is only used in XI to give a hint of what type this device may be.
Call it xinput_type for clarity.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-21 10:42:35 +10:00
Tomas Janousek
81b3b0cce0 Bug #6428, #16458, #21464: Fix crash due to uninitialized VModMap fields.
In ProcXkbGetKbdByName, mrep.firstVModMapKey, .nVModMapKeys and
.totalVModMapKeys were not initialized, contained random values and caused
accesses to unallocated and later modified memory, causing
XkbSizeVirtualModMap and XkbWriteVirtualModMap to see different number of
nonzero values, resulting in writes past the end of an array in XkbSendMap.

This patch initializes those values sensibly and reverts commits 5c0a2088 and
6dd4fc46, which have been plain non-sense.

Signed-off-by: Tomas Janousek <tomi@nomi.cz>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-21 10:42:35 +10:00
Matthias Hopf
79138eec1b randr: Setting gamma: inverse logic looks more sane 2009-05-20 12:43:24 +02:00
Peter Hutterer
c2785ae7eb dix: refuse events from disabled devices.
If the device is disabled ("off"), it must not send events to a client.
The driver shouldn't send events in that case anyway, but just to make sure
we simply drop events coming while the device is disabled.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-20 16:22:24 +10:00
Peter Hutterer
47a89b1cba Xi: remove DeviceIsPointerType
This approach is broken anyway. DIPT only checked for the XInput type
"MOUSE" and the only user of this is xf86ActivateDevice when it sets the
Activate/DeactivateGrab functions.
Since synaptics and wacom set their own types, evdev only sets MOUSE for,
well, mice half the devices didn't have this set correctly anyway.

Instead, ActivatePointerGrab should be merged together with
ActivateKeyboardGrab.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-20 16:22:24 +10:00
Peter Hutterer
7b891e450f dix: Remove obsolete comment
CorePointerProc doesn't back up the device classes anymore.
2009-05-20 16:22:24 +10:00
Peter Hutterer
42719ce5c7 dix: remove superfluous loop in change_modmap.
A device can only be attached to a single master device. So instead of
looping and searching for the master device, we can just use dev->u.master
directly.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-20 16:22:24 +10:00
Eamon Walsh
22a33a7250 glx: Register names for the GLX resource types.
Signed-off-by: Eamon Walsh <ewalsh@tycho.nsa.gov>
2009-05-19 22:49:25 -04:00
Eamon Walsh
77e90261d5 dix/events.c: Use wClient where appropriate.
Signed-off-by: Eamon Walsh <ewalsh@tycho.nsa.gov>
2009-05-19 19:36:03 -04:00
Eamon Walsh
3cea176d5a xace: Fix a bad device access hook call.
Add a proper access mode, and reverse the logic of the return value.
Zero ("Success") is returned on success from the hook calls.

Signed-off-by: Eamon Walsh <ewalsh@tycho.nsa.gov>
2009-05-19 19:35:46 -04:00
Michel Dänzer
4addfcd633 EXA: Allocate from the end of free offscreen memory rather than from the start.
This way we don't always need to scan over previously allocated areas when
looking for an available one, and there might be less fragmentation.

Signed-off-by: Michel Dänzer <daenzer@vmware.com>
2009-05-18 17:53:35 +02:00
Michel Dänzer
510cbd43cd EXA: Defragment offscreen memory.
At most once per second, under the following circumstances:

* We can't satisfy an offscreen memory allocation, but there seems to be enough
  offscreen memory available in total.

or

* The server has been idle for at least 100ms, and there is more than one
  available offscreen area.

Signed-off-by: Michel Dänzer <daenzer@vmware.com>
2009-05-18 17:48:57 +02:00
Jon TURNEY
8331bde0ad Cygwin/X: link with libmain.a to provide main()
Commit 987579c930 moves main.c into
into libmain.a to be linked with separately, and updates the various
DDXs to link with libmain.a, except Xwin, which also needs this change.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-05-18 14:48:26 +01:00
Peter Hutterer
b89dcfbfbd Xi: fix length field in XIQueryPointer.
Buttons append 4-byte units to the end of the reply, they need to be
included too.

Reported-by: Mark Dokter
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-18 16:30:12 +10:00
Peter Hutterer
33fcaaaea5 Fix missing parentheses in FP1616 macro.
Missing parens led to interesting results if an expression instead of a
constant was passed in (ProcXIQueryPointer for example).
2009-05-18 16:05:35 +10:00
Peter Hutterer
6258bb1d6b require inputproto 1.9.99.9 2009-05-16 12:20:59 +10:00
Peter Hutterer
e7e94ff5fd Xi: set the right length for the XIQueryPointer reply. 2009-05-16 12:20:59 +10:00
Peter Hutterer
00ab04d73c Include full modifier + button state in XIQueryPointer. 2009-05-16 12:20:59 +10:00
Peter Hutterer
de78aab0ea Xi: take the paired device as modifier device only for MD pointers. 2009-05-16 12:20:59 +10:00
Peter Hutterer
0e089f9ceb Xi: check cursor and grab_window before attempting the passive grab.
Both values need to fail the request, so we need to check them before
looping through the modifier masks. Otherwise, a wrong grab_window will
show up in each failed modifier return but not actually cause an error.
2009-05-16 12:20:59 +10:00
Peter Hutterer
5c3e728980 dix: count must be 1 if we have an XI2 match.
This fixes events that activated a grab not getting delivered to the client.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-16 12:20:59 +10:00
Peter Hutterer
e083a0d069 Xi: set the correct length for XIPassiveGrab replies. 2009-05-16 12:20:58 +10:00
Peter Hutterer
8ff1bff8f4 Update to new XI2 names 2009-05-16 12:20:58 +10:00
Peter Hutterer
bbf266cca3 mi: un-deprecate miPointerWarpCursor
This function was deprecated in ef68273f5b
because it didn't take a device argument. The device argument was added in
1c7568b8a1 though, so the deprecation is
obsolete.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-16 12:20:58 +10:00
Peter Hutterer
273890924b input: reduce the number of superfluous hierarchy events
There's only two reasons for hierarchy events:
- device is added, removed, etc. In this case we want to send the event as
  it happens.
- devices are added in a XIChangeDeviceHierarchy request. In this case we
  only want one event cumulating all changes.
2009-05-16 12:20:58 +10:00
Peter Hutterer
033a2b12fc Xi: set per-device hierarchy changed flags.
Rather than have one field per hierarchy change, XI2 has two fields - one
generic one and one per-device that include the device-specific flags.
This requires some funky handling for removed devices, but oh well.
2009-05-16 12:20:58 +10:00
Peter Hutterer
8fb51feae2 xkb: if kbd init failed, NULL out the pointers after freeing them (#21278)
Reproducible:
Configure a server that uses the keyboard driver with an invalid ruleset,
e.g. (Option "XkbRules" "foobar"). Ensure that Option "AllowEmptyInput" is
"off" in the ServerFlags or ServerLayout section. Start the server.
After failing to init the keymap, the server will try to clean up after the
device, double-freeing some xkb structs that have not been reset properly.

X.Org Bug 21278 <http://bugs.freedesktop.org/show_bug.cgi?id=21278>

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-16 12:20:58 +10:00
Peter Hutterer
0cea199eda kdrive: set Activate/Deactivate grab for input devices (#21591)
X.Org Bug 21591 <http://bugs.freedesktop.org/show_bug.cgi?id=21591>
2009-05-16 12:20:58 +10:00
Peter Hutterer
fdce58ca82 dix: ensure Activate/DeactivateGrab has a valid value.
Xephyr doesn't manually set Activate/DeactivateGrab for new devices,
resulting in a NULL-pointer dereference later when a grab is activated.
Avoid the segfault by ensuring that the pointer is always valid.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-16 12:20:58 +10:00
Peter Hutterer
e3f296d91d xfree86: Remove superfluous ifdef DEBUG checks.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-16 12:20:57 +10:00
Peter Hutterer
2f6253376d xfree86: Remove superfluous ifdef DEBUG checks.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-16 12:01:23 +10:00
Peter Hutterer
b1b5ec45c1 kdrive: set Activate/Deactivate grab for input devices (#21591)
X.Org Bug 21591 <http://bugs.freedesktop.org/show_bug.cgi?id=21591>
2009-05-16 12:01:22 +10:00
Peter Hutterer
6f9e220498 dix: ensure Activate/DeactivateGrab has a valid value.
Xephyr doesn't manually set Activate/DeactivateGrab for new devices,
resulting in a NULL-pointer dereference later when a grab is activated.
Avoid the segfault by ensuring that the pointer is always valid.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-16 12:01:22 +10:00
Peter Hutterer
c1d7deca92 mi: un-deprecate miPointerWarpCursor
This function was deprecated in ef68273f5b
because it didn't take a device argument. The device argument was added in
1c7568b8a1 though, so the deprecation is
obsolete.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-16 12:01:22 +10:00
Alan Coopersmith
8609a4e883 Correct some Sun license notices to Sun's standard X11 license format
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-05-15 11:24:15 -07:00
David Marx
94c5093c8b Solaris: Make sure non-inline versions of asm routines end with ret statements
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-05-15 11:24:15 -07:00
Julien Cristau
2be5eecb4b xfree86: add edid quirk for Samsung Syncmaster 2333HD
It reports vertical size in cm in the detailed mode.
X.Org bug#21750 <http://bugs.freedesktop.org/show_bug.cgi?id=21750>

Reported-by: Peter Poklop <Peter.Poklop@gmx.at>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2009-05-15 17:35:30 +02:00
Michel Dänzer
7c8327f0a7 EXA: Always damage glyph cache pixmap manually after uploading a glyph.
Signed-off-by: Michel Dänzer <daenzer@vmware.com>
2009-05-15 15:48:37 +02:00
Michel Dänzer
850675d4de EXA: Take GC client clip type into account for migration.
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=18950 .

Signed-off-by: Michel Dänzer <daenzer@vmware.com>
2009-05-15 15:48:37 +02:00
Matt Turner
c1bbac2708 Fix mem_barrier() on Alpha
Some clean up (da086901c6) went a bit
too far and removed the needed mem_barrier macro on Alpha.

This re-adds it.
2009-05-14 16:03:04 -04:00
Julien Cristau
4cc33190ef xfree86: Add two __FreeBSD_kernel__ checks
Debian bug#525475 <http://bugs.debian.org/525475>

Reported-by: Petr Salinger <Petr.Salinger@seznam.cz>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2009-05-14 17:03:11 +02:00
Adam Jackson
ed9aecf851 COPYING: SGI FreeB 1.1 -> SGI FreeB 2.0 2009-05-14 07:02:49 -04:00
Adam Jackson
c66cf7b64c Update several of my and/or Red Hat's licenses to standard form. 2009-05-14 07:02:44 -04:00
Michel Dänzer
2075d4bf9e glx: If a destroyed window is bound to the current context, make it not current.
Avoids subsequent crashes due to stale pointers to the DrawableRec, see
https://bugs.freedesktop.org/show_bug.cgi?id=21132#c15 and previous comments.

Signed-off-by: Michel Dänzer <daenzer@vmware.com>
2009-05-14 11:46:41 +02:00
Michel Dänzer
2c1190f888 randr12: Initialize and keep track of updates to VidMode extension gamma value.
This way clients querying the gamma value via the VidMode extension at least
get the last value set via the same, rather than always something bogus.

Signed-off-by: Michel Dänzer <daenzer@vmware.com>
2009-05-14 11:39:16 +02:00
Michel Dänzer
fc3ce861cd randr12: Fix calculation of gamma ramp values.
The reciprocal gamma value was missed in the first copy and this mistake was
propagated to the second one.

Signed-off-by: Michel Dänzer <daenzer@vmware.com>
2009-05-14 11:35:25 +02:00
Alan Coopersmith
f3c61377d0 COPYING file updates for git master changes since 1.6 branch
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-05-12 18:27:09 -07:00