Commit Graph

5965 Commits

Author SHA1 Message Date
Peter Hutterer
e4054e5cb3 Xi: pack the property stuff into a struct, make handlers a linked list.
We may need more than one handler to deal with a property (e.g. one in the
driver, one in the DIX), so get the handlers into a linked list and call them
one-by-one. This is of course slightly less entertaining than the hilarious
WRAP/UNWRAP game we play in other parts of the server.

XIRegisterPropertyHandler/XIUnregisterPropertyHandler are the interface
drivers/the DIX should use to attach themselves to the device.

XIDeleteAllDeviceProperties destroys everything, including the handlers.
2008-07-10 16:28:44 +09:30
Peter Hutterer
2039c6ea43 Xi: add support for input device properties.
Basically just copied from randr properties, with minor changes only.
Each device supports arbitrary properties that can be modified by clients.
Modifications to the properties are passed to the driver (if applicable) and
can then affect the configuration of the device.

Note that device properties are limited to a specific device. A property set
on a slave device does not migrate to the master.
2008-07-10 16:28:34 +09:30
Peter Hutterer
4ab01fe5db Revert "Xi: add support for input device properties."
Note to self: don't mix up branches with half-finished cherrypicks.

This reverts commit 666838fcc8.
2008-07-10 16:27:36 +09:30
Peter Hutterer
666838fcc8 Xi: add support for input device properties.
Basically just copied from randr properties, with minor changes only.
Each device supports arbitrary properties that can be modified by clients.
Modifications to the properties are passed to the driver (if applicable) and
can then affect the configuration of the device.

Note that device properties are limited to a specific device. A property set
on a slave device does not migrate to the master.
2008-07-10 16:02:55 +09:30
Peter Hutterer
acce270935 Xext: store the GenericMasks in the resource system.
This fixes a severe issue - when the client died the event mask didn't get
unregistered and a future event would dereference dangling pointers. By
storing the event masks in the resource system we can free them when the
client dies.
2008-07-10 16:02:55 +09:30
Peter Hutterer
db86b8839f dix: free GenericMask allocations when destroying window. 2008-07-10 16:02:54 +09:30
Alan Coopersmith
08e2c625f6 Remove README.font, since it's just an old text copy of xorg-docs/sgml/fonts 2008-07-09 20:07:59 -07:00
Alan Coopersmith
5e847c1d4f Improved driver selection when autoconfiguring driver without xorg.conf
- Allow returning multiple drivers to try for a given PCI id (for instance,
  try "geode" then "amd" for AMD Geode hardware)
- On Solaris, use VIS_GETIDENTIFIER ioctl as well as PCI id to choose drivers
- Use wsfb instead of fbdev as a fallback on non-Linux SPARC platforms
2008-07-07 17:08:01 -07:00
Alan Coopersmith
235fea0e1a Update bsd & solaris descriptions in README.OS-lib 2008-07-07 15:21:59 -07:00
Julien Cristau
d8af9d9ab1 Export xkbfile.h in the SDK
It's needed by xkbsrv.h
2008-07-07 13:14:49 +02:00
Tiago Vignatti
d78bebb20a Remove unused function and variables. 2008-07-04 04:04:19 -03:00
Tiago Vignatti
a8c4727f01 Fix typo in the last commit. 2008-07-04 04:03:46 -03:00
Tiago Vignatti
3164288b12 Remove deprecated function miPointerPosition(). 2008-07-04 03:55:59 -03:00
Tiago Vignatti
d1031a8972 Update README.OS-lib to reflect reality. 2008-07-04 03:46:21 -03:00
Tiago Vignatti
f72500c4a0 Nuke libc wrapper remaining stuffs. 2008-07-04 03:45:18 -03:00
Tiago Vignatti
3fd5fab566 Remove inexistent function headers. 2008-07-04 02:51:42 -03:00
Dave Airlie
0b9ef835a0 modes: fix initial xorg.conf mode selection.
This was all kinds of broken, we ignored user preferred modes for multiple
monitors and also for side-by-side configurations.
2008-07-04 07:29:32 +10:00
Peter Hutterer
e317943c12 xfree86: AllowEmptyInput is now enabled by default if hotplugging is enabled.
Remove AEI check from configImpliedLayout as the setting isn't actually parsed
at this point anyway (written by Sasha Hlusiak).

Resurrect checkInput() and check for devices there if AEI is false (this also
creates the default devices if required).

Set AllowEmptyInput to enabled by default if hotplugging is enabled.
2008-07-03 22:49:46 +09:30
Peter Hutterer
fe5cf7cb00 xfree86: handle missing Screen lines in the ServerLayout #16301
If no Screen is specified in the ServerLayout section, either take the first
one from the config file or autogenerate a default screen.

X.Org Bug 16301 <http://bugs.freedesktop.org/show_bug.cgi?id=16301>
2008-07-03 22:49:46 +09:30
Peter Hutterer
6674b87a7d xfree86: move declaration of configured_device to start of function.
Last I checked C doesn't allow declarations halfway down a block.
2008-07-03 22:49:46 +09:30
Dave Airlie
1e96782011 dri2: bump libdrm numbers as 2.3.1 is released without ttm interface 2008-07-03 20:00:22 +10:00
Dave Airlie
1771edcb44 modes: check the crtc is valid before using its desired modes.
this fixes a crash I was getting on radeon rotate when gnome is running.
I'm sure g-s-d was doing something bad, but really not crashing ftw.
2008-07-03 19:05:26 +10:00
Adam Jackson
689292e58c Fix GLX in Xvfb and kdrive. 2008-07-02 11:25:50 -04:00
Chris Ball
9a73bca859 Remove KdOffscreenMarkUsed() as all its callers are gone. 2008-07-02 09:46:06 -04:00
Ian Romanick
b84a27fd9f VBO: Regenerate files based on recent changes to gl_API.xml
Since GL_ARB_vertex_buffer_object protocol isn't supported yet, these
changes are innocuous.
2008-07-02 06:25:03 -07:00
Adam Jackson
703a9645f3 Auf wiedersehen, KAA. 2008-07-01 17:50:48 -04:00
Jeremy Uejio
c8216aede6 Sun bug #6685465: Xephyr uses wrong or bad colortable in 8-bit mode
<http://bugs.opensolaris.org/view_bug.do?bug_id=6685465>

This bug is caused by Xephyr not handling the RGB byte order correctly
of the server where Xephyr is displaying on. The previous code just
assumed that the order was RGB and did not take into account that
Xservers may use different order (such as BGR).

The fix is to add a function to calculate the byte order and bits
to shift based on the visual mask and the visual bits_per_rgb (which
is usually 8, but could be server dependent).  Since the shifts won't
change once the display connection has been made, I can cache these
values so that Xephyr doesn't have to keep recalculating them everytime
it tries to translate the Xephyr colormap entries for Xephyr clients to
the actual server colormap entries (i.e. calling the function
hostx_set_cmap_entry() repeatedly for every colormap entry).
2008-07-01 13:37:12 -07:00
Aaron Plattner
2e8daee053 Work around the DIX losing mmWidth/mmHeight for RandR 1.1 DDXen.
RandR 1.1 has a physical size for each mode.  It used to be that the DIX would
remember these modes and pass them back up to the DDX when changing the screen
configuration.  The DDX uses RR_GET_MODE_MM to query the driver for the physical
dimensions of the screen, allowing it to preserve the DPI.

With RandR 1.2, the physical dimensions are stored as part of the output, rather
than per mode.  The DIX only uses the sizes passed in from the DDX to select the
mode pool for the "default" output, and forgets the physical sizes.  Then, when
reconfiguring the screen, it makes up a new RRScreenSizeRec using the dimensions
from the output, screwing up the DPI.

This change works around this problem by ignoring the DIX and querying the real
size from the driver.
2008-07-01 09:08:22 -07:00
Adam Jackson
e2bbf2d248 Don't try to load DRI2 if built without it. 2008-07-01 12:01:56 -04:00
Adam Jackson
66d7c9de82 Declare xf86InterpretEEDID() properly. 2008-07-01 10:55:54 -04:00
root
e4335e876d Revert "XInput ABI is 2.1, not 3.1."
This reverts commit 76576c87b0.
which was an incorrect revert of previous ABI bumps. Those
responsible for the accidental ABI bumps in both directions
have all been sacked.

This allows xf86-input-mouse to build again, for example.
2008-06-30 15:42:33 -07:00
Carl Worth
6447f80c17 Use AC_CHECK_LIB before PKG_CHECK_MODULES for openssl
Previously, the code was using PKG_CHECK_EXISTS before PKG_CHECK_MODULES,
(to cater to OpenBSD systems that include openssl by default but without
a .pc file). But this meant that systems that didn't have openssl installed
at all would not get any error message at configure time.

Now, if the SHA1_Init function is found in -lcrypto without any additional
flags, then that's used. Otherwise, pkg-config is used to find the right
flags to link against libcrypto. And if that fails, a nice error message
is now generated.
2008-06-30 13:19:19 -07:00
Adam Jackson
76576c87b0 XInput ABI is 2.1, not 3.1. 2008-06-30 16:10:37 -04:00
Adam Jackson
bed12dd3df Do EEDID in RANDR 1.2. 2008-06-30 16:04:54 -04:00
Adam Jackson
4fc18b5fc3 Hexdump the whole EDID block if extensions present. 2008-06-30 16:04:54 -04:00
Adam Jackson
b4fbc31e10 Actually fetch all blocks of EEDID if asked to. 2008-06-30 16:04:54 -04:00
Adam Jackson
211e2bdcc6 Bump ABI minor numbers for the devPrivate ABI functions. 2008-06-30 10:29:17 -04:00
Dan Nicholson
d6b8d9eaff DRI: Ensure we have the DRI headers from Mesa
Change the DRI configure check to look for the dri pkg-config file. This
prevents people who built an Xlib libGL from bombing later in the build.
2008-06-29 10:11:40 -07:00
Eamon Walsh
7ddfb2f158 Fix a leak of window devPrivates in window.c/CrushTree(). 2008-06-27 23:10:12 -04:00
Peter Hutterer
15e4b6c574 input: for non-device events (e.g. DevicePresence) use MAX_DEVICES as id.
Using id = 0 only worked pre-MPX since XInput didn't allow XOpenDevice for the
core devices (0 and 1). Now we can now legally register for events so we may
overwrite our device-independent classes with the ones selected for the VCP.

So, increase the EMASKSIZE to MAX_DEVICES + 1 and use MAX_DEVICES as the ID
when we don't have a device.
2008-06-26 12:53:05 +09:30
Peter Hutterer
f0c56ffd98 dix: don't dereference dev->key if it doesn't exist.
This may happen if we check for a passive grab on a floating pointer device.
2008-06-26 12:53:05 +09:30
Alan Coopersmith
01f0b9c978 xf86GetOptValFreq wants a pointer to double, but maxPixClock is an int 2008-06-25 19:23:20 -07:00
Alan Coopersmith
7ce6dcef11 Don't log null device name in XkbDDXLoadKeymapByNames 2008-06-25 15:06:49 -07:00
Adam Jackson
cbc20d92de XTrap delenda est. 2008-06-25 09:52:36 -04:00
Peter Hutterer
a81b5ce452 dix: free memory associated with the EventList. #16507
Un-deprecates CloseDownEvents.

X.Org Bug 16507 <http://bugs.freedesktop.org/show_bug.cgi?id=16507>
2008-06-25 20:03:31 +09:30
Peter Hutterer
3a2beb2f86 dix: InitEventList does not need to be _X_EXPORT. 2008-06-25 20:03:31 +09:30
Tiago Vignatti
385943e0e9 Set --enable-builtin-fonts as default.
Some reasons to embed fonts by default:
1. X server doesn't pick a good default font path so it's easiest just
to built in the core fonts and let new X hackers more happy. Developers
and distro guys are wise enough to just set --disable-builtin-fonts
when they want.

2. Seems that this is by far the most popular FAQ
(http://www.x.org/wiki/FAQErrorMessages).

3. No one gave a good argument to not do this:
    http://lists.freedesktop.org/archives/xorg/2008-May/035479.html
2008-06-24 23:13:32 -03:00
Tiago Vignatti
f3b29efc4d Remove NOFONTSERVERACCESS macro
dix: this is semantically different but it goes through the same path in
the code.
2008-06-24 23:10:56 -03:00
Tiago Vignatti
2ff7eb4995 xfree86: kill INHERIT_LOCK_STATE macro.
I don't know how this survived so long. Google didn't show
anything usable related with this.
2008-06-24 23:10:56 -03:00
Eamon Walsh
a3ec226273 Fix a leak in the code that parses the protocol names.
Also added some comments.
Reported by Ben Gamari (bug #16492).
2008-06-24 22:00:55 -04:00