Commit Graph

2831 Commits

Author SHA1 Message Date
Peter Hutterer
6d22a9615a dix: Call DeleteInputDeviceRequest from CloseDownDevices (#14418)
The DDX (xfree86 anyway) maintains its own device list in addition to the one
in the DIX. CloseDevice will only remove it from the DIX, not the DDX. If the
server then restarts (last client disconnects), the DDX devices are still
there, will be re-initialised, then the hal devices come in and are added too.
This repeats until we run out of device ids.

This also requires us to strdup() the default pointer/keyboard in
checkCoreInputDevices.

X.Org Bug 14418 <http://bugs.freedesktop.org/show_bug.cgi?id=14418>
2008-04-11 18:45:32 +09:30
Eric Anholt
a7e3ad1c6b Remove NDEBUG (assert() disable) define from the X Server.
A few pieces of code were abusing this define for other purposes, which are
converted to #ifndef DEBUG instead.  There should be no ABI consequences
to this change.

The rationale is that having the define in xorg-server.h also disables
assert() drivers, which is unexpected, and also difficult to avoid since
xorg-server.h is included in their config.h, and you can't put a #undef in
config.h.  As for removing it from the server instead of moving it to an
internal header, we probably shouldn't have unnecessary assert()s in
critical server paths anyway, and if we do we could #define NDEBUG in the
specific cases needed.
2008-04-10 10:35:14 -07:00
Peter Hutterer
df2545b98d xfree86: Sanity check before retrieving the paired device.
Some pointer devices send key events [1], blindly getting the paired device
crashes the server. So let's check if the device is a pointer before we try to
get the paired device.

[1] The MS Wireless Optical Desktop 2000's multimedia keys are sent through
the pointer device, not through the keyboard device.
2008-04-10 08:50:43 +09:30
Dave Airlie
b19027fbae quirk: add quirk for ACR 640x350 default mode is wrong
RH #440186
2008-04-09 14:34:11 +10:00
Ben Byer
1f8188656a add missing dix-config include
(cherry picked from commit 126e9bc8c4)
2008-04-08 21:25:15 -07:00
Jeremy Huddleston
3f51f493b6 XQuartz: Fix issue where clicking on an X11 window might send that event to an X11 window in another space.
(cherry picked from commit df21312c8b)
(cherry picked from commit 2d4194a8d1)
2008-04-08 17:03:18 -07:00
Peter Hutterer
fd06e8f8c1 Merge branch 'master' into dcdc_rework
Conflicts:

	Xext/xevie.c
	dix/dispatch.c
2008-04-07 07:56:41 +09:30
Sascha Hlusiak
539bf3c283 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver 2008-04-07 00:10:16 +02:00
Sascha Hlusiak
3ab33e7cd4 Remove stale code
The jstk code for Joysticks is not used by any module, was never actually compiled and uses an API
that is deprecated these days.

No reason to keep it.
2008-04-06 23:23:47 +02:00
Adam Jackson
cc7c045bae Fix PCI config space cycles from int10 emulator.
The top bit of 0xCF8 is an enable bit, not part of the domain.  Sending
cycles to domain 128 instead of domain 0 is rarely the right thing to do.
2008-04-04 12:58:12 -04:00
Kristian Høgsberg
16a8ce7558 Only autoload RECORD if it was enabled. 2008-04-04 10:47:46 -04:00
Dave Airlie
f0915fb3c4 quirk: add quirk for ACER EDID 2008-04-04 09:59:40 +10:00
Jeremy Huddleston
2e42b67b82 XQuartz: Change reporting of space change to debug log rather than stderr
(cherry picked from commit ed15556a9f)
2008-04-02 18:05:55 -07:00
Ben Byer
c737d04c75 The AppKit thread should not be calling directly into the X server
functions to change state when the keyboard is reloaded; instead,
pass it as an event.
(cherry picked from commit 7e653f806f)
2008-04-02 17:48:24 -07:00
Ben Byer
15b0084f1a formatting cleanup for X11Application.m (no code changes)
(cherry picked from commit eb083d3f68)
2008-04-02 17:48:15 -07:00
Ben Byer
e9e2d88436 moved and renamed QuartzMessageServerThread to
DarwinSendDDXEvent to make more clear what it actually does.
(cherry picked from commit bee2b377ef)
2008-04-02 17:48:01 -07:00
Ben Byer
c1be4e3379 shovelling code around ...
(cherry picked from commit 2143182ba4)
2008-04-02 17:47:59 -07:00
Ben Byer
985c631b2e just a bit of juggling headers around -- we're preparing
to call our Xquartz-specific event handlers directly
as mieqHandlers
(cherry picked from commit 4aedba5aa7)
2008-04-02 17:47:57 -07:00
Ben Byer
89f1d880e8 nuke DarwinEventQueue
(cherry picked from commit 1e0ec02202)
2008-04-02 17:47:52 -07:00
Jeremy Huddleston
8944b77ec0 continue with gutting darwinEvents.c
(cherry picked from commit c34fce7051)
2008-04-02 17:47:42 -07:00
Jeremy Huddleston
aa6d12e93e turns out we weren't actually using these files. oops
(cherry picked from commit bfec44d7b4)
2008-04-02 17:46:59 -07:00
Ben Byer
6c5962e447 remove vestigal DarwinEQPointerPost etc
(cherry picked from commit a25704c423)
2008-04-02 17:45:28 -07:00
Ben Byer
c6f0d5d1e5 gut darwinEQEnqueue, and make it just call mieqEnqueue (for the moment)
(cherry picked from commit a9e081a60c)
2008-04-02 17:45:23 -07:00
Ben Byer
5b6c273eaa add prototype for DarwinEventHandler
(cherry picked from commit 9a03ae33c4)
2008-04-02 17:45:20 -07:00
Ben Byer
3713be8b47 add logging of current thread ID to DEBUG_LOG macro
(cherry picked from commit 5848510cc5)
2008-04-02 17:45:17 -07:00
Ben Byer
1400a51ae7 Begin to move all of our Xquartz DDX-specific event handlers
to miEQ, in preparation to remove the DDX-specific code entirely.
(cherry picked from commit 3f4447b95f)
2008-04-02 17:45:09 -07:00
Jeremy Huddleston
8746daa673 XQuartz: Fixed missing close-paren in preference pane text.
(cherry picked from commit ea37e151dc)
2008-04-02 17:33:22 -07:00
Kristian Høgsberg
b5a0a865c3 Pick up dri2proto from the standard proto header include path. 2008-04-02 19:21:41 -04:00
Kristian Høgsberg
7c20f65fea Add @XORG_CFLAGS@ to satisfy xf86* includes.
Pointed out by Hasso Tepper.
2008-04-02 19:08:33 -04:00
Xiang, Haihao
b31de6a590 dri2: fix crasher if DRI2Connect fails 2008-04-02 16:29:30 +10:00
Hong Liu
ebc56aca8b Bug #15160: quirk Proview AY765C
prefer first detailed timing
2008-04-02 10:46:03 +08:00
Goneri Le Bouder
9500033b9e xfree86: don't crash in AutoConfig if the primary device is not pci
Only call matchDriverFromFiles() if we found a pci device.
Debian bug#472823 (http://bugs.debian.org/472823).
2008-04-01 20:23:38 +02:00
Ben Byer
a4d0349411 Add code to track 5 valuators for pointing device, in preparation
for supporting tablet input in Xquartz.
(cherry picked from commit 22c8849ea819eb70a14b2e06330b11b22aa63ebc)
2008-03-31 16:44:23 -07:00
Ben Byer
6648867d8b add debug statements so we can see if/when our Xinput stubs are getting called.
(cherry picked from commit 6e160bbe15dd2c2b8685847c06831cb6aebc6f74)
2008-03-31 16:44:22 -07:00
Ben Byer
19ff23ab0e Remove calls to InitValuatorAxisStruct -- these are now handled in dix by
InitValuatorDeviceClass.
Add InitProximityClassDeviceStruct call to prepare for tablet support.
(cherry picked from commit 1bd980a5b114f5320360943214f8f9f23b29c1e3)
2008-03-31 16:44:21 -07:00
Kristian Høgsberg
c40e0b51f0 Implement DRI2 direct rendering and update AIGLX to DRI interface changes.
Get rid of glcontextmodes.[ch] from build, rename __GlcontextModes to
__GLXcontext.  Drop all #includes of glcontextmodes.h and glcore.h.
Drop the DRI context modes extension.

Add protocol code to DRI2 module and load DRI2 extension by default.
2008-03-31 16:50:58 -04:00
Jeremy Huddleston
b8ea9f2a25 XQuartz: Fixed names of enums to be more consistent
(cherry picked from commit c309a08806daf5d716a860c709e51eacad2c745a)
2008-03-28 17:03:20 -07:00
Jeremy Huddleston
bd28839eb8 =?utf-8?q?XQuartz:=20Another=20Expos=C3=A9=20fix:=20F9=20doesn't=20raise=20all=20windows
=20(cherry=20picked=20from=20commit=20b9cffa20debae73737c674bf75ab65db1bd74556)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
2008-03-28 17:03:19 -07:00
Adam Jackson
933ffcdf7d Compile fix. 2008-03-28 17:53:55 -04:00
Adam Jackson
9e8451d869 Add E-EDID segment selection. 2008-03-28 17:43:10 -04:00
Adam Jackson
0b4aef4d6d Refactor DDC2 code to allow for proper segmented addressing. 2008-03-28 17:43:01 -04:00
Adam Jackson
88ece11d6c Start E-EDID support in the DDC module.
Since there's no way to safely know how many blocks xf86DoEDID_DDC2 would
return, add a new xf86DoEEDID entrypoint to do that, and implement the
one in terms of the other.
2008-03-28 17:39:23 -04:00
Eamon Walsh
b5f98fcea2 XSELinux: Add xorg.conf option for permissive/enforcing/disabled.
Patch by Joe Nall.

The option goes in the "extmod" subsection.
TODO: Make it easier for extension modules to handle their own options.
2008-03-28 14:14:23 -04:00
Jeremy Huddleston
415e49b940 XQuartz: Sanity-check the removal of the 256-color option
Fixes the 'one-time-preferences' bug in 2.2.0_rc1
(cherry picked from commit 38cbd13490)
2008-03-27 19:22:07 -07:00
Ben Byer
c1d37efe9a xquartz: copy in new stubs from Xi/stubs.c to replace our old
Xinput stubs.  Hey, it's a start.
(cherry picked from commit 566412b4aece24ae6af8c7c835986b685aa456a2)
2008-03-27 19:14:50 -07:00
Ben Byer
c4a616a741 prevent "fake mouse clicks" from generating spurious extra events
(cherry picked from commit bd85a24969427e41389688663ead2d4dd41c9999)
2008-03-27 19:14:39 -07:00
Dave Airlie
c747030a49 quirk: fix LPL monitors properly.
no point having a h cm fix when we really want to copy the sizes from the
other place.

RH BZ 435216
2008-03-27 15:19:52 +10:00
David Nusinow
f028e245a7 Bug #10016: Implement WM_CLASS hints in Xephyr. 2008-03-24 16:06:33 -04:00
Adam Jackson
862ff9ac92 Bug #11510: Fix build without RECORD. 2008-03-24 13:37:42 -04:00
Adam Jackson
87bfd3bd96 Bug #11508: Fix build without XV. 2008-03-24 13:33:38 -04:00
Julien Cristau
4217ba0cf0 xaa: use xf86ReturnOptValBool instead of xf86IsOptionSet
The latter doesn't return the option's value, just whether it's present
in the configuration.
2008-03-22 17:53:45 +01:00
Julien Cristau
6b9d2bb1f7 exa: use xf86ReturnOptValBool instead of xf86IsOptionSet
The latter doesn't give you the option's value, it just tells you if
it's present in the configuration.  So using Option "EXANoComposite" "false"
disabled composite acceleration.
2008-03-22 17:28:48 +01:00
Jeremy Huddleston
6385947396 XQuartz: Disable 256 color option and fullscreen option
(cherry picked from commit 7c1964338a)
2008-03-21 19:37:49 -07:00
Jeremy Huddleston
93daa3a3bf Xquartz: Added separate preference tab for quartz-wm settings
Added FFM and "Focus on new window" options
(cherry picked from commit 6841d078b7)
2008-03-21 19:37:46 -07:00
Jeremy Huddleston
c49e112683 XQuartz: Initial framework for dealing with spaces on OS-X
(cherry picked from commit 9831324998)
2008-03-21 19:37:42 -07:00
Jeremy Huddleston
4c76607b69 Rootless: Removed safeAlphaXXXX() in favor of using fb/pixman
(cherry picked from commit f03202ad15)
2008-03-21 19:33:21 -07:00
Jeremy Huddleston
87c64cfd69 =?utf-8?q?Apple:=20Xserver=20half=20of=20the=20Expos=C3=A9=20bug-fix=20(requires=20updated=20libXplugin=20from=20Apple...=20coming=20with=202.2)
=20(cherry=20picked=20from=20commit=2037be23e8c1d8e5c7a1157e9d66ef3f30a4c472c5)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
2008-03-21 19:33:21 -07:00
Michel Dänzer
da973e962d Fix RandR 1.2 driver interface conversion of two colour cursors to ARGB
This patch (and not setting HARDWARE_CURSOR_BIT_ORDER_MSBFIRST on big endian
platforms) fixes it for me with the radeon driver and doesn't break intel.

Correct patch this time :)
2008-03-20 09:18:29 -04:00
Alex Deucher
f8c1eb29e2 Revert "Fix RandR 1.2 driver interface conversion of two colour cursors to ARGB"
This reverts commit 2673525796.

Pushed the wrong patch.
2008-03-20 09:14:41 -04:00
Michel Dänzer
2673525796 Fix RandR 1.2 driver interface conversion of two colour cursors to ARGB
See bug 11796
2008-03-19 19:12:37 -04:00
Dodji Seketeli
cdadd2ff9b [Xephyr/DRI] correctly route motion events targeted at GL drawable 2008-03-18 14:02:41 +01:00
Jesse Barnes
afd7428690 Cleanup logic in xf86PrepareOutputs
Should have done this in the first place.  Since we're checking for the absence
of the get_crtc callback in the first place, we'll short circuit the later call
and disable the output, so the ugly "continue" block is unnecesary.
2008-03-17 14:55:44 -07:00
Jesse Barnes
ba85caacb5 Make xf86SetDesiredModes aware of current output configuration
By adding a new output callback, ->get_crtc, xf86SetDesiredModes is able to
avoid turning off outputs & CRTCs if the current output<->CRTC mappings are the
same as the desired configuration.  This helps avoid flickering displays at
startup time, which speeds things up a little and looks better.
2008-03-17 14:13:09 -07:00
Jesse Barnes
bee2ddf35f Fail CRTC configuration if !vtSema
Unless we check for vtSema before calling into the CRTC and output callbacks,
we may end up trying to access video memory that no longer exists, leading to a
crash.  So if we don't have vtSema, return FALSE to the caller, indicating that
we didn't do anything.

Fixes #14444.
2008-03-17 08:33:01 -07:00
Matthieu Herrb
db248ffb84 test for the presence of pci_system_init_dev_mem() before calling it.
This avoids creating a dependency on -current libpciaccess for
BSD systems other than OpenBSD (which don't otherwise need it).
2008-03-16 18:46:11 +01:00
Donnie Berkholz
aa231f28d5 Xephyr: Build fix: Port across XF86dri.c changes from Mesa. 2008-03-14 18:43:41 -07:00
Donnie Berkholz
a955c3b587 Xephyr: Distribute ephyrdriext.h in tarballs. 2008-03-14 18:43:40 -07:00
Adam Jackson
57d48d94b8 Fix a stray use of ALLOCATE_LOCAL. 2008-03-14 14:46:03 -04:00
Adam Jackson
8248537722 RANDR 1.2: Fix initial mode aspect ratio match in a corner case.
Actually more like in the mainline case, where the ideal mode happens to
be the very first aspect match on the first monitor.  But let's not
split hairs.
2008-03-14 14:24:21 -04:00
Bart Trojanowski
1b9878ffcf Bug #14332: Fix PCI access cycles from x86emu.
The address written to 0xcf8 contains the PCI slot address to send the
config cycle to.  However, we would ignore that and always send the
cycle to the device whose BIOS we were running.  This breaks some
integrated graphics platforms that have explicit knowledge about the
system's host bridge, for example.
2008-03-13 17:42:16 -04:00
Doug Chapman
f7abe05b33 Bug #14091: Fix build (and runtime) on ia64. 2008-03-13 17:40:34 -04:00
Adam Jackson
5d7437c29e RANDR 1.2: Fix the RANDR 1.1 screen size estimation to approach reality.
While the ScreenRec's notion of size in millimeters would get updates,
the RANDR 1.1 notion wouldn't, so your screen would appear to be square
and probably at some ludicrous DPI.
2008-03-13 17:37:12 -04:00
Adam Jackson
61c3f63a75 RANDR 1.2: Don't report a square resolution to RANDR 1.1 clients.
It can't possibly do anything useful, and older versions of Gnome (and
proably others) get very confused by it.  So do the drivers, for that
matter.
2008-03-13 17:34:54 -04:00
Mark Kettenis
06c0372c3a OpenBSD support for libpciaccess.
xserver and libpciaccess both need to open /dev/xf86, which can only
be opened once.  I implemented pci_system_init_dev_mem() like Ian
suggested.  This requires some minor changes to the BSD-specific
os-support code.  Since pci_system_init_dev_mem() is a no-op on
FreeBSD this should be no problem.
2008-03-12 21:45:37 +01:00
Matthias Hopf
2036851125 Return randr interface version in xf86CrtcScreenInit()
Necessary to allow drivers to be run-time backwards compatible when using the
modes/ functions w/o providing their own copy.
2008-03-12 11:37:28 +01:00
Kristian Høgsberg
bc504ffbba DRI2: Add DRI2AuthConnection().
DRI2 uses the same authentication scheme as XF86DRI, so implement this
entry point so DRI2 protocol code can access it.
2008-03-11 00:56:16 -04:00
Adam Jackson
ab9b0b36ac Add the "amd" driver to magic driver selection. 2008-03-10 13:40:00 -04:00
Adam Jackson
0f6aaf636b Bug #14927: Fix the math for xf86NumDefaultModes. 2008-03-10 09:14:20 -04:00
Kristian Høgsberg
acedc03367 DRI2: Return event buffer head index in DRI2CreateDrawable.
And pass it to the DRI driver in AIGLX.
2008-03-09 21:39:19 -04:00
Julien Cristau
911f0c1476 Programs in hw/dmx/examples/ want client-side xkb headers. 2008-03-07 23:26:56 +01:00
Adam Jackson
3bf7ff7032 Size xf86DefaultModes explicitly.
i.e., don't check for the end of the list by ->name == NULL, since that
won't work now.  Fix the consumers of xf86DefaultModes to use the new
explicit size as well.
2008-03-07 09:25:06 -05:00
Adam Jackson
3fcb6445dc Fix segfault when a monitor exists but has no modes.
Thanks to Zhenyu Wang for finding this.
2008-03-07 08:30:19 -05:00
Aaron Plattner
a8d760f567 Get modes code building with old X servers again.
This change uses XORG_VERSION_CURRENT < 7.0 to mean "server newer than 1.2"
since XORG_VERSION current went backwards at some point.
2008-03-06 14:42:00 -08:00
Jesse Barnes
ca616b902b Allow RandR get output property to call into drivers
In order to report accurate values to users of the RandR property interface,
it's sometimes necessary to ask the driver to update the value (for example
when backlight brightness changes without the server's knowledge, due to hotkey
events or direct sysfs banging).

This patch wires up the core server code with a new xf86CrtcFuncs callback,
get_property, to allow for this.

The new code is available under the RANDR_13_INTERFACE define, which in turn
depends on the RANDR_12_INTERFACE code.
2008-03-06 13:50:58 -08:00
Adam Jackson
34b69e3bc0 Fix distcheck.
(cherry picked from commit 2a47accff8)
2008-03-05 23:57:15 -05:00
Adam Jackson
27e7dacbf7 Make xf86InitialConfiguration slightly smarter.
Old heuristic was to find the first monitor that expressed a preference,
then attempt to get all other monitors to agree.  This doesn't work
particularly well when the two sets of modes don't precisely intersect,
you get overlapping-but-not-identical output geometry and things go wrong.

New heuristic is:
- Exact user preference, if given
- Exact output preference, if the same for all outputs
- Best (largest) mode of modes common to all outputs:
  - with the same aspect ratio as all outputs (may be NULL)
  - with 4:3 aspect ratio
- Then the old heuristic to try to get something lit

Note that it is simply not doable to have a reliable initial output guess if
you insist on trying to clone all outputs together.  It's far too easy to
end up with displays that simply don't have modes in common.  We need to
switch to right-of placement someday, once we're not limited to CRTC size
limits and we have working multi-GPU in RANDR.
2008-03-04 11:38:34 -05:00
Adam Jackson
95df04b744 Remove all mention of the vga driver from the config logic. 2008-03-04 10:59:24 -05:00
Peter Hutterer
4f2cd0ed96 Merge branch 'master' into mpx
This merge reverts Magnus' device coorindate scaling changes. MPX core event
generation is very different, so we can't scale in GetPointerEvents.

Conflicts:

	Xi/opendev.c
	dix/devices.c
	dix/dixfonts.c
	dix/getevents.c
	dix/resource.c
	dix/window.c
	hw/xfree86/common/xf86Xinput.c
	mi/mipointer.c
	xkb/ddxBeep.c
	xkb/ddxCtrls.c
	xkb/ddxKeyClick.c
	xkb/ddxList.c
	xkb/ddxLoad.c
	xkb/xkb.c
	xkb/xkbAccessX.c
	xkb/xkbEvents.c
	xkb/xkbInit.c
	xkb/xkbPrKeyEv.c
	xkb/xkbUtils.c
2008-03-04 18:11:10 +10:30
James Cloos
613852ce6a Fix some documentation typos 2008-03-03 16:11:05 -05:00
Adam Jackson
708f07753f RANDR 1.2: Inherit PreferredMode from the global configuration, if any.
If you don't do this, then Modes "800x600" in the Display subsection will
be dutifully ignored and the driver will start at whatever resolution it
feels like.
2008-03-03 15:49:48 -05:00
Adam Jackson
605e6764df Fix Motif menu drawing in Xnest.
See also Red Hat bug #229350, OpenSolaris bug #6366490.
2008-03-03 15:45:17 -05:00
Adam Jackson
3b73d62791 xf86DDCMonitorSet: Honor the DisplaySize from the config file.
We honor sync ranges and pixel clock settings from the config here, no
reason to ignore DisplaySize.
2008-03-03 15:43:22 -05:00
David Nusinow
f7ab2d3821 Add missing file from previous commit. 2008-03-02 18:36:25 -05:00
David Nusinow
b5ce0e1d0b Bug #13860: Ensure that the DRI mode is in octal format. 2008-03-02 17:12:02 -05:00
Matthieu Herrb
c934366424 use UTILS_SYS_LIBS to pass SYS_LIBS to utils/ioports correctly 2008-03-02 19:32:01 +01:00
David Nusinow
2bb9c1f36f bug #10008: Make Xvfb.1 document the correct default depth 2008-03-01 18:45:46 -05:00
George Sapountzis
3d64290547 clean some "unused" warnings 2008-03-01 19:49:24 +02:00
Maarten Maathuis
8af2c39bcc Fix big mistake in commit fd41f46ac6.
- When a mode is deleted, the name pointer is also free()'ed.
- This leaves other modes with an invalid pointer.
2008-03-01 16:54:01 +01:00
Eamon Walsh
ef60632e20 dix: Modify callers of property and selection API to use new interfaces. 2008-02-29 18:01:37 -05:00
Eamon Walsh
34bf308a9e dix: Refactoring of selection code to allow for polyinstantiation.
Introduces dixLookupSelection() API.
Removes NumCurrentSelections from API.
2008-02-29 18:01:37 -05:00