Commit Graph

4796 Commits

Author SHA1 Message Date
Kristian Høgsberg
421606a8ef dri2: Send out event when auxillary buffers are invalidated
This lets the DRI2 clients rely on the server to notify them when they
need to get new buffers.  Without this, OpenGL clients poll the server
in glViewport() which can be a performance problems and also isn't
completely correct behaviour.

We bump the DRI2 protocol minor to indicate the availability of the
event, which the DRI2 clients can use to avoid polling.  This speeds up
various piglit and oglc test cases as well as real applications.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-05-13 06:32:04 -07:00
Alan Coopersmith
f281db9a5e Remove ResNoAvoid definition, missed in the RAC removal
ResNoAvoid is #defined to ResBios, but ResBios was removed
from xf86str.h in 4b42448a23

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-05-13 04:20:34 -07:00
Jamey Sharp
04bad1b8a1 Kill ChangeGC in favor of dixChangeGC.
This doesn't change any behavior, but it isn't clear whether NullClient
is correct in all cases. As ajax says,

> For most of these changes, I think it's correct to use NullClient,
> since they are server-initiated changes and should not fail for (eg)
> xace reasons. ... At any rate, you're certainly not changing any
> semantics by leaving them all as NullClient, so this patch can't be
> more wrong than before.

The call in CreateGC is particularly questionable.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
2010-05-12 18:10:01 -07:00
Jamey Sharp
65cedf3905 Kill DoChangeGC in favor of dixChangeGC.
This doesn't change any behavior, but it isn't clear whether NullClient
is correct in all cases. As ajax says,

> For most of these changes, I think it's correct to use NullClient,
> since they are server-initiated changes and should not fail for (eg)
> xace reasons. ... At any rate, you're certainly not changing any
> semantics by leaving them all as NullClient, so this patch can't be
> more wrong than before.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
2010-05-12 18:09:55 -07:00
Jamey Sharp
21ceae9002 SetFontPath: set client->errorValue on failure.
Previously the callers were only setting errorValue on Success, when
it's ignored, and leaving it alone on failure, when it's sent to the
client.

Since SetFontPath takes the ClientPtr, let it set client->errorValue
instead of letting the callers continue to get it wrong.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-05-12 12:08:38 -07:00
Mikhail Gusarov
3f3ff971ec Replace X-allocation functions with their C89 counterparts
The only remaining X-functions used in server are XNF*, the rest is converted to
plain alloc/calloc/realloc/free/strdup.

X* functions are still exported from server and x* macros are still defined in
header file, so both ABI and API are not affected by this change.

Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-05-13 00:22:37 +07:00
Kristian Høgsberg
4f0006c220 dri2: Copy front to fake front in swapbuffer
If we don't have a fake front, nothing will happen.  The fix was extracted
from a bigger patch from Francisco Jerez.

https://bugs.freedesktop.org/show_bug.cgi?id=27305
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Pauli Nieminen <suokkos@gmail.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-05-12 10:00:15 -07:00
Jeremy Huddleston
ba1f1f9d9e XQuartz GL: Fix __glXAquaScreenCreateDrawable prototype
Fixes regression introduced in 9de0e31746

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-05-11 10:46:41 -07:00
Keith Packard
3df22b293c Merge remote branch 'krh/dri2-resource-fixes' 2010-05-11 08:38:44 -07:00
Cyril Brulebois
fa6c701257 Fix null pointer dereference in xf86_reload_cursors().
Upon resume, X may try to dereference a null pointer, which has been
reported in Debian bug #507916 (http://bugs.debian.org/507916).

Jim Paris came up with a patch which solves the problem for him. Here's
a (hopefully) fixed version of his patch (without the typo).

Cc: Jim Paris <jim@jtan.com>
Signed-off-by: Cyril Brulebois <kibi@debian.org>
Reviewed-By: Matthias Hopf <mhopf@suse.de>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-05-11 08:35:28 -07:00
Kristian Høgsberg
9de0e31746 dri2: Take an XID for tracking the DRI2 drawable
Some pixmaps (window pixmaps and scratch pixmaps) don't have the
drawable->id set and thus DRI2 gets confused when using that field
for looking up the DRI2 drawable.  Go back to using privates for getting
at the DRI2 drawable from a DrawablePtr.  We need to keep the resource
tracking in place so we can remove the DRI2 drawable when the X resource
it was created for goes away.  Additionally, we also now track the DRI2
drawable using a client XID so we can reclaim the DRI2 drawable even if
the client goes before the drawable and doesn't destroy the DRI2 drawable.

Tested-by: Owen W. Taylor <otaylor@fishsoup.net>
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
2010-05-11 11:01:35 -04:00
Peter Hutterer
10de9e8ee3 xfree86: dga needs to use the master keyboard state (#27573)
GetPairedDevice() may not always return the keyboard, resulting in a
null-pointer dereference when accessing the XKB state.
For floating devices, the GetMaster() returns the device itself.

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

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Tested-by: Ben Hutchings <ben@decadent.org.uk>
2010-05-11 13:33:19 +10:00
Keith Packard
c0799779df dmxBERestoreRenderGlyph was passing wrong value to free
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
2010-05-08 09:51:03 -07:00
Jamey Sharp
c677fc611b VERIFY_PICTURE always returns BadPicture. Don't bother specifying.
Same goes for VERIFY_ALPHA, VERIFY_XIN_PICTURE, and VERIFY_XIN_ALPHA.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-05-07 21:57:19 -07:00
Julien Cristau
72758287f7 XQuartz: add new localization files to EXTRA_DIST
commit 206531f75c added localization files
for ar, add them to the Makefile.

Signed-off-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-05-04 13:08:16 -07:00
Keith Packard
cdeb2c23f8 Fix cursor ref counting mistakes with sprites and xf86Cursor.c
A few cursor value assignments weren't getting correctly ref counted,
causing leaks of cursor objects.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-05-03 10:26:52 -07:00
Jeremy Huddleston
0efd7b8d82 XQuartz GLX: Change around includes for better compatability with different OS versions
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-05-02 15:27:29 -07:00
Oliver McFadden
048d15192a x-list.c: null-returning function malloc() was called without checking
Signed-off-by: Oliver McFadden <oliver.mcfadden@nokia.com>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-05-02 15:27:29 -07:00
Keith Packard
986d46144b Merge remote branch 'jamey/for-keith'
Conflicts:
	hw/xfree86/common/xf86xv.c
2010-04-30 12:40:53 -07:00
Keith Packard
a974c8e7cb Merge remote branch 'whot/for-keith' 2010-04-30 12:33:00 -07:00
Keith Packard
6581bc4591 Merge remote branch 'yselkowitz/master' 2010-04-30 12:29:52 -07:00
Keith Packard
0e91e19f78 Merge remote branch 'vignatti/for-keith' 2010-04-30 12:27:51 -07:00
Peter Hutterer
02e86221b8 xfree86: a missing input driver is not an error.
We call NIDR on all devices that make it through the config backend.
Including some that have no driver assigned to them (/dev/input/mouse0 for
example). Those ones then simply get ignored by NIDR, but this should not be
noted as an error in the log file.

X_INFO is sufficient, and it may just prevent some bugreports.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
2010-04-30 11:33:25 +10:00
Jon TURNEY
81a081c1f0 Cygwin/X: AIGLX using native WGL
A rewrite of the XWin DDX AIGLX code to actually make it do something useful again

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2010-04-28 14:26:52 +01:00
Adam Jackson
ffaae7c0c6 Remove mibank support
Banked framebuffers are so 1990.  As of 7.4 the only drivers remaining
that used this were chips, neomagic, trident, and vesa.  vesa only used
it when not using shadowfb, which is broadly undesirable anyway, and no
longer uses it at all as of 2.3.0.  neomagic never used it by default,
and support for it is gone in git master.  The other two effectively
only ever used it for ISA chips; since ISA support is now gone from
the server, they have been modified to only compile mibank support when
ISA support is available.

Signed-off-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-04-27 11:14:03 -07:00
Jamey Sharp
b5b8f91b82 xfree86: use screen privates for Xv offscreen images.
This replaces a globally-allocated array that depended on MAXSCREENS.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Acked-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
2010-04-27 11:03:01 -07:00
Jamey Sharp
a1c2acfe79 xfree86: use screen privates for exclusive DGA clients.
Most DGA requests allow at most one client to be using DGA on each
screen. Instead of keeping track of the current client in a
MAXSCREEN-sized array, track it in a per-screen private.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Acked-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
2010-04-27 11:02:37 -07:00
Jamey Sharp
f9e3a2955d Make Xvfb independent of MAXSCREENS.
If a -screen option specifies a screen number higher than any previously
specified, reallocate the vfb-private array of screen-info structs.

If built with a DIX that still has a MAXSCREENS limit, asking for too
many screens won't be detected until InitOutput calls AddScreen.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2010-04-27 10:14:42 -07:00
Jamey Sharp
20e84b0b44 Xvfb: Simplify screen option processing.
Inspired by Jon Turney's "Xwin: Simplify screen option processing"
patch, which does something similar for the Xwin server.

Besides making the code more readable, this eliminates most of Xvfb's
references to MAXSCREENS.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2010-04-27 10:14:21 -07:00
Jamey Sharp
eeb8454755 Delete redundant scrnum field from Xvfb private screen-info struct.
The screen number can be inferred from the position in the vfbScreens
array, and it was only used in two places, so it was hardly important.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2010-04-27 10:14:05 -07:00
Jamey Sharp
da02178919 Track screens' installed colormaps as screen privates.
Several DDXes allow each screen to have at most one (or in some cases,
exactly one) installed colormap. These all use the same pattern: Declare
a global-lifetime array of MAXSCREENS ColormapPtrs, and index it by
screen number. This patch converts most of those to use screen privates
instead.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Acked-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2010-04-27 10:13:47 -07:00
Pierre-Loup A. Griffais
41bdb6c003 xf86: Don't crash when switching modes through RandR without owning the VT.
While VT-switched, FB access is disabled and should remain so. Trying to switch
modes in that state would re-enable it, potentially causing crashes if trying
to access it before the driver has recovered from the mode switch.

Signed-off-by: Pierre-Loup A. Griffais <pgriffais@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-04-26 20:15:17 -07:00
Yaakov Selkowitz
6e0d847c27 xfree86: Fix reference to SGML entities
XORG_CHECK_LINUXDOC sets the SGML search path to the parent of X11/defs.ent.

Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Acked-by: Dan Nicholson <dbn.lists@gmail.com>
Tested-by: Gaetan Nadon <memsize@videotron.ca>
2010-04-26 11:35:53 -05:00
Yaakov Selkowitz
04b7d529c0 xfree86: Ignore linuxdoc generated docs
Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Acked-by: Gaetan Nadon <memsize@videotron.ca>
2010-04-26 11:35:52 -05:00
Yaakov Selkowitz
39e5108c78 dmx: use silent rules in doc
Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Acked-by: Gaetan Nadon <memsize@videotron.ca>
2010-04-26 11:35:51 -05:00
Yaakov Selkowitz
3ba2ce5d10 dmx: Ignore linuxdoc generated docs
dmx.txt and scaled.txt are generated from SGML, so they probably never
should have been in version control in the first place.

Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Dan Nicholson <dbn.lists@gmail.com>
2010-04-26 11:35:49 -05:00
Tiago Vignatti
edbc56c088 include: remove couple of unused structures fields and bump ABI
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2010-04-26 14:53:12 +03:00
Tiago Vignatti
64fd39f2f0 xfree86: no need to assign numScreens again
numScreens is always being assigned to 0 in dix for any server generation.

Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-04-23 16:13:57 +03:00
Jon TURNEY
a7d398e545 Xwin: make screens structures run-time adjustable
Change g_ScreenInfo, an array of winScreenInfo elements, from a
static array of MAXSCREENS elements, to a dynamically allocated one

Fix up the validation that -screen option screen numbers are
contiguous from zero (which possibly didn't work correctly before
anyhow)

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Jamey Sharp<jamey@minilop.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2010-04-23 15:59:49 +03:00
Jon TURNEY
d8454ae488 Xwin: Simplify screen option processing
Use an instance of the XWin DDX-specific screen info structure to hold
the current default values, to simplify greatly the code for applying
options to all screens and remove all those loops over MAXSCREENS screens
in the command line option processing

Use g_iNumScreens for tracking the current initialized screen count

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2010-04-23 15:55:17 +03:00
Tiago Vignatti
b61870595b xfree86: track screens' installed colormaps as screen privates
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
2010-04-23 15:50:23 +03:00
Jamey Sharp
a2c716eaf6 fb: track screens' installed colormaps as screen privates.
Several DDXes allow each screen to have at most one (or in some cases,
exactly one) installed colormap. These all use the same pattern: Declare
a global-lifetime array of MAXSCREENS ColormapPtrs, and index it by
screen number. This patch converts most of those to use screen privates
instead.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Acked-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2010-04-23 15:32:19 +03:00
Jamey Sharp
e055bef055 xfree86: use screen privates for exclusive DGA clients
Most DGA requests allow at most one client to be using DGA on each screen.
Instead of keeping track of the current client in a MAXSCREEN-sized array,
track it in a per-screen private.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Acked-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2010-04-23 15:32:01 +03:00
Jamey Sharp
7c9733d063 xfree86: use screen privates for Xv offscreen images.
This replaces a globally-allocated array that depended on MAXSCREENS.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Acked-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2010-04-23 15:30:03 +03:00
Tiago Vignatti
35d208125f xfree86: fix not reached code in fi1236 driver from i2c
This issue was introduced in the first dump of the code in 2004. I haven't
check what's the correct fix for it so I simply kept the behaviour of someone
calling this and removed the unreachable code.

Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-04-21 16:16:26 -07:00
Keith Packard
7ac6a6b7d0 Merge remote branch 'vignatti/for-keith'
Conflicts:
	exa/exa.c

Signed-off-by: Keith Packard <keithp@keithp.com>
2010-04-21 16:07:38 -07:00
Keith Packard
0782894b57 Xvfb: Usage message typo fix.
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-04-21 16:00:28 -07:00
Keith Packard
ee3412b870 Restore some unused win32 debug code accidentally removed with unifdef
unifdef found some code covered by

which it decided to remove. This patch simply restores that in case
someone wants it back.

Signed-off-by: Keith Packard <keithp@keithp.com>
2010-04-21 15:58:23 -07:00
Tiago Vignatti
f7ef6fd9a1 xfree86: fix not reached code in tty code
CLEARRTS_SUPPORT cannot be triggered at all. Notice that mouse driver manual
page states the support for it though.

Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-04-21 18:07:28 +03:00
Tiago Vignatti
7f457351d2 xfree86: check for NULL pointer before dereferences it in parser code
Seems to be harmless. Meh.

Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
2010-04-21 18:07:17 +03:00
Tiago Vignatti
f491b0aa5b xfree86: fix not reached code in parser
...because Error is a macro that returns NULL.

Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
2010-04-21 18:07:13 +03:00
Tiago Vignatti
0ba82562ee Death to Multibuffer extension
The rationale behind is because no sane application will use this when we have
modern APIs such DRI2. Besides, as a fact, xfree86 server has already
deprecated this extension in 1998:

    http://www.xfree86.org/3.3.6/isc7.html

Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
2010-04-21 18:06:35 +03:00
Keith Packard
28b7b2b8d0 unifdef -B -DRENDER to always include RENDER code
This patch was created with:

git ls-files '*.[ch]' | while read f; do unifdef -B -DRENDER -o $f $f; done

Signed-off-by: Keith Packard <keithp@keithp.com>
2010-04-19 09:26:10 -07:00
Keith Packard
b3ab978df8 Merge remote branch 'whot/for-keith' 2010-04-18 22:01:40 -07:00
Kristian Høgsberg
1da1f33f2d DRI2: Track DRI2 drawables as resources, not privates
The main motivation here is to have the resource system clean up the
DRI2 drawable automatically so glx doesn't have to.  Right now, the
glx drawable resource must be destroyed before the X drawable, so that
calling DRI2DestroyDrawable doesn't crash.  By making the DRI2
drawable a resource, GLX doesn't have to worry about that and the
resource destruction order becomes irrelevant.

https://bugs.freedesktop.org/show_bug.cgi?id=26394

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-04-16 14:53:31 -07:00
Benjamin Tissoires
a780e5b363 xf86ScaleAxis: support for high resolution devices
High resolution devices was generating integer overflow.
For instance the wacom Cintiq 21UX has an axis value up to
87000. Thus the term (dSx * (Cx - Rxlow)) is greater than
MAX_INT32.

Using 64bits integer avoids such problem.

Signed-off-by: Philippe Ribet <ribet@cena.fr>
Signed-off-by: Benjamin Tissoires <tissoire@cena.fr>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-04-16 14:39:50 +10:00
Keith Packard
e424d58123 Merge remote branch 'whot/for-keith' 2010-04-15 15:01:34 -07:00
Julien Cristau
0e7703f9b1 vfb: add a name and type to the pointer and keyboard
Fixes a crash in XIQueryDevice which calls strlen on a NULL pointer.

 #0  strlen () at ../sysdeps/x86_64/strlen.S:31
 #1  0x00000000004c16ed in SizeDeviceInfo (dev=0x969bd0)
     at ../../Xi/xiquerydevice.c:204
 #2  0x00000000004c1a01 in ProcXIQueryDevice (client=0xa57510)
     at ../../Xi/xiquerydevice.c:98

Debian bug#575905 <http://bugs.debian.org/575905>

Reported-by: "Bernhard R. Link" <brlink@debian.org>
Signed-off-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-04-16 07:53:35 +10:00
Jeremy Huddleston
5b0faf3554 XQuartz GLX: Don't let garbage enter our pixel request
https://bugs.freedesktop.org/show_bug.cgi?id=27654

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-04-15 10:57:04 -07:00
Jeremy Huddleston
206531f75c XQuartz: Localization update
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-04-15 10:57:03 -07:00
Keith Packard
ab60975fe2 Merge remote branch 'jeremyhu/master' 2010-04-12 21:40:41 -07:00
Jeremy Huddleston
59edde7c28 XQuartz: Add a GUI preference for the Alt / Mode_switch toggle
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Kevin Van Vechten <kvv@apple.com>
2010-04-11 16:30:25 -07:00
Jeremy Huddleston
5600f7f001 XQuartz: Customize the NSDefaults id in the man file.
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Kevin Van Vechten <kvv@apple.com>
2010-04-11 16:30:22 -07:00
Jeremy Huddleston
840d12c7a6 XQuartz: Add a defaults option to toggle Alt / Mode_switch
See option_sends_alt in Xquartz(1)

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Kevin Van Vechten <kvv@apple.com>
2010-04-11 16:30:19 -07:00
Jeremy Huddleston
d6f160510a XQuartz: Blacklist some oddball legacy Mac keycodes that break wine
http://xquartz.macosforge.org/trac/ticket/295

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Kevin Van Vechten <kvv@apple.com>
2010-04-11 16:30:14 -07:00
Dan Nicholson
adbbc66108 xfree86: Fix priority ordering for ignoring input classes
Commit 8736d112af changed the priority
ordering of the InputClass option merging to be "last match wins". This
fixes the handling of Option "Ignore" to follow that logic.

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
2010-04-11 07:29:23 -07:00
Keith Packard
d7c98c1c81 Merge remote branch 'whot/for-keith' 2010-04-07 22:25:51 -07:00
Peter Hutterer
03ccbd2579 xfree86: remove dead input drivers from xorg.conf man page.
These drivers have been deactivated for over a year now, let's not refer
potential users to them.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-04-08 15:21:01 +10:00
Dan Nicholson
95f01bdfee xfree86: Search for a system xorg.conf.d
In addition to the conf files found in /etc/X11 or $sysconfdir/X11 used
for local administration, we also reserve a system directory for vendor
and package usage. The simple search path is:

	/usr/share/X11/xorg.conf.d
	$datadir/X11/xorg.conf.d

Files from these directories will have the lowest config priority. The
directory $datadir/X11/xorg.conf.d is exported from xorg-server.pc in
the variable "sysconfigdir". Packages should install their .conf files
to the directory specified by:

	`pkg-config --variable=sysconfigdir xorg-server`

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-04-08 15:21:01 +10:00
Dan Nicholson
a1bae63dc6 xfree86: Set a saner search path for xorg.conf.d
There's no reason to carry all the oddities from xorg.conf like appended
hostname to the search path for xorg.conf.d. This changes it to something
very simple:

	/etc/X11/<cmdline>
	$sysconfdir/X11/<cmdline>
	/etc/X11/xorg.conf.d
	$sysconfdir/X11/xorg.conf.d

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-04-08 15:21:01 +10:00
Dan Nicholson
2ac33888a9 xfree86: Document how -configdir affects the xorg.conf.d search path
Explain the "safe" path dance for -configdir, too.

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-04-08 15:21:01 +10:00
Dan Nicholson
2460e921d1 xfree86: Allow adding sysconfdir and datadir to config search paths
We could just use $projectroot/etc and $projectroot/share, but the user
might have other plans for them.

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-04-08 15:21:00 +10:00
Pierre-Loup A. Griffais
6b09f66d8c Don't keep a pointer to a possibly freed cursor when changing screens, preventing a crash in xf86CursorEnableDisableFBAccess() trying to restore it.
Signed-off-by: Pierre-Loup A. Griffais <pgriffais@nvidia.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-04-08 15:21:00 +10:00
Alan Coopersmith
82cf3a4ae0 Convert x86emu fixed size int typedefs to use stdint types
Fixes x86emu builds when using non-gnu compilers now that u64 is required

Before this fix, the u64 type would not be defined, causing
x86emu/sys.c to fail to build:
"sys.c", line 102: syntax error before or at: ldq_u
"sys.c", line 102: syntax error before or at: *

Since Keith requested using <stdint.h>, converted all the x86emu
typedefs to use the stdint types.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Matt Turner <mattst88@gmail.com>
Acked-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-04-07 16:18:24 -07:00
Keith Packard
a7698a6776 Merge remote branch 'jbarnes/master' 2010-04-06 12:36:15 -07:00
Tiago Vignatti
b9ad452ec9 xfree86: die gracefully in the vga arbiter if AddScreen fails
vga arbiter will be locked in one device while AbortDDX will call LeaveVT
routines from the other device. Fail!

Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-04-02 00:09:20 -07:00
Jeremy Huddleston
02328f190f Bump bundle version to 2.5.1
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-04-01 18:22:32 -07:00
Jeremy Huddleston
0e342add77 darwin: Correct inline assembly for ___crashreporter_info__
It was missing an underscore.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-04-01 15:32:51 -07:00
Ruediger Oertel
67b814d9b2 Remove now obsolete function chooseVideoDriver
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-03-29 12:01:46 -07:00
Ruediger Oertel
1dd5fbc5a4 xfree86: Handle driver autoconfiguration when .conf files exist
When doing driver autoconfiguration with some parts of the config file
present but no driver set (e.g. only input configuration) fix the case
that we may have multiple drivers to try.

Create a screen section for each driver and let them be tried in a row.

Signed-off-by: Ruediger Oertel <ro@suse.de>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
Tested-by: Timo Aaltonen <timo.aaltonen@aalto.fi>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-03-29 12:01:15 -07:00
Keith Packard
57cb1a854a Merge remote branch 'jeremyhu/master' 2010-03-29 11:46:00 -07:00
Keith Packard
4b3d67a764 Merge remote branch 'whot/for-keith' 2010-03-29 11:44:07 -07:00
Jesse Barnes
165a4a9c7d GLX/DRI2: expose swap control extensions if DDX support is present
Export DDX swap control status from the DRI2 module and check for it in
GLX when initializing extensions.

Reviewed-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-03-29 10:03:12 -07:00
Jesse Barnes
5933b0abc6 DRI2: prevent swap wakes from waking MSC waiters
If a few swaps were queued leading to a throttle related block on the
client, and then the client submitted an MSC wait, one of the previous
swap wakeups could have caused the MSC wait to complete early.  Add a
flag for this to prevent a swap wake from prematurely waking an MSC
waiter.

Reported-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Reviewed-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-03-29 10:02:57 -07:00
Jesse Barnes
b00d435ddf DRI2: handle swapsPending better
Avoid a potential swapsPending underflow by incrementing it before
ScheduleSwap, which may complete it immediately.  And be sure to
decrement it again in case the schedule failed.

Reported-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Reviewed-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-03-29 10:02:51 -07:00
Jesse Barnes
0294ff2a5c DRI2: throttle swaps at submission time too
We need to throttle swaps here in addition to when the context is made
current to avoid causing problems with clients that just swap.
Throttling here also ensures our swaps get ordered as long as we block
the client occasionally.

Reported-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Reviewed-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-03-29 10:02:45 -07:00
Jesse Barnes
db1c7cb604 DRI2: advertise lowest supported DRI2 protocol version
Update our supported DRI2 protocol version as each driver does
DRI2ScreenInit, since depending on available kernel features, each DDX
may support different callbacks and therefore protocol.

Reviewed-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-03-29 10:02:37 -07:00
Jesse Barnes
87ca6320f2 DRI2: handle swap_interval of 0 correctly
A 0 swap interval means that swaps shouldn't be sync'd to vblank, so
just complete the swap immediately in that case.

Reviewed-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-03-29 10:02:30 -07:00
Jesse Barnes
8476d99231 DRI2: drawable lifetime fixes
Handle drawable destruction and lifetime correctly.

Check whether the drawable priv is valid in DRI2SwapInterval(),
DRI2WaitSBC() and DRI2WaitMSC(); it may have gone away, so be sure to
check it before using it.

If more than 1 outstanding swap is queued, we may complete several after
an app has exited.  If we free it after the first one completes and the
refcount reaches 0, we'll crash the server on subsequent completions.
So delay freeing until all swaps complete and remove the error message
as this is a normal occurence.  To do this properly, we must also avoid
destroying drawables in DRI2DestroyDrawable() if a swap or wait event is
pending.

And finally, make sure we free drawables in DRI2WaitMSCComplete() if
necessary (i.e. if the refcount has reached 0 and this MSC was the last
pending event on the object).

Reported-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Reviewed-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-03-29 10:02:22 -07:00
Jesse Barnes
b180e43977 DRI2: fix swapbuffers handling of SBC and target MSC
Returns expected SBC after completion of swap to caller, as required by
OML_sync_control spec, instead of the last_swap_target value.

Passes target_msc, divisor, remainder, correctly for
glXSwapBuffersMscOML() call, while retaining old behaviour for simple
glXSwapBuffers() call.

An OML swap can have a 0 target_msc, which just means it needs to
satisfy the divisor/remainder equation.  Pass this down to the driver as
needed so we can support it.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
2010-03-29 10:02:17 -07:00
Mario Kleiner
751e8c09d3 DRI2WaitSbc(): Fixes for correct semantic of glXWaitForSbcOML()
Added implementation for case target_sbc == 0. In that case, the
function shall schedule a wait until all pending swaps for the drawable
have completed.

Fix for non-blocking case. Old implementation returned random,
uninitialized values for (ust,msc,sbc) if it returned immediately
without scheduling a wait due to sbc >= target_sbc.

Now if function doesn't schedule a wait, but returns immediately,
it returns the (ust,msc,sbc) of the most recently completed swap,
i.e., the UST and MSC corresponding to the time when the returned
current SBC was reached.

Signed-off-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
2010-03-29 10:02:13 -07:00
Mario Kleiner
0de4974b90 DRI2: Fix glitches in DRI2SwapComplete() and DRI2WakeupClient()
DRI2SwapComplete(): Increment pPriv->swap_count++; before calling
into callback for INTEL_swap_events extension, so the swap event
contains the current SBC after swap completion instead of the
previous one.

DRI2WakeupClient: Check for pPriv->target_sbc <= pPriv->swap_count,
had wrong comparison pPriv->target_sbc >= pPriv->swap_count for
unblocking of clients of DRI2WaitSBC().

Signed-off-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
2010-03-29 10:01:53 -07:00
Jesse Barnes
4c8ec49826 DRI2: make target_sbc signed
We need to track invalid targets as well as 0 targets, so just make it
signed so our comparisons work like they should.

Reviewed-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Reported-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-03-29 10:01:46 -07:00
Jesse Barnes
c4d54816f2 DRI2: fixup handling of last_swap_target
We need to initialize the swap target, which is passed to the driver to
schedule events.  Rather than using -1 to indicate that the field is
uninitialized, just make sure we initialize it at drawable creation
time.

Reviewed-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-03-29 10:01:07 -07:00
Jeremy Huddleston
28a5f14b40 XQuartz: Re-query dixScreenOrigins as the value could've changed.
Fix a regression in 9c9c3a85b0

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Acked-by: Adam Jackson <ajax@redhat.com>
2010-03-29 09:37:19 -07:00
Jeremy Huddleston
436d0bb9cc darwin: Generate crash reports on FatalError()
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Acked-by: Adam Jackson <ajax@redhat.com>
2010-03-29 09:37:17 -07:00
Jeremy Huddleston
339207be6f XQuartz: Workaround weird key data reported on some layouts
This should make 'Unicode Hex Input' work as an input layout.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Acked-by: Adam Jackson <ajax@redhat.com>
2010-03-29 09:37:10 -07:00
Peter Hutterer
70bd02f2ea xfree86: merge driver from the input class into the options.
A driver that is assigned by an input class is only present as idev->driver.
The driver itself has no access to this information once PreInit is called.
For devices that rely on chain-hotplugging (wacom), this means that for the
second device the driver information is lost and the second device cannot be
initialized through NewInputDeviceRequest. Although this could be worked
around by hardcoding the driver name in the wacom driver, having the
assigned driver in the options seems like the better solution.

This issue only manifests itself with the udev backend. With HAL, the driver
is assigned by HAL and the option is duplicated in config/hal.c.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
2010-03-26 15:30:55 +10:00
Mikhail Gusarov
e086b99c1f kdrive: Bump evdev maxKeycode
There are keycodes > 193 in evdev, e.g. KEY_WIMAX which is 246 .

Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Adam Jackson <ajax@nwnk.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-03-24 14:03:51 +01:00
Peter Hutterer
0ecfab89d1 xfree86: remove if 1 from the dawn of time.
7+ years for an if 1 should be enough to just admit that there's no other
option.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Fernando Carrijo <fcarrijo@yahoo.com.br>
Reviewed-by: Corbin Simpson <MostAwesomeDude@gmail.com>
2010-03-24 08:07:25 +10:00
Keith Packard
b29220dc76 Merge remote branch 'jeremyhu/master' 2010-03-21 23:01:58 -07:00
Yaakov Selkowitz
c3da76643a Cygwin/X: Make X -> XWin symlink during install
Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
2010-03-22 00:48:33 -05:00
Yaakov Selkowitz
946b49ebcb Catch errors in recursive relink targets
If make relink fails in a subdirectory, we need to catch the error
otherwise make will continue iterating the 'for' loop.

Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
2010-03-22 00:45:57 -05:00
Yaakov Selkowitz
0820a6e2fb Fix .man.N targets for AM_SILENT_RULES
Add $(AM_V_GEN) for sed-based rules so they appear as expected with
automake silent rules, and $(AM_V_at) to completely hide cp/ln/rm
commands which are not prone to fail.

Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@sun.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2010-03-22 00:45:55 -05:00
Yaakov Selkowitz
9be4157391 Respect value of SED from configure
We now use libtool, which calls AC_PROG_SED and sets SED as the path to
a fully-functional 'sed' (which may also be called 'gsed' if GNU sed is
installed alongside a proprietary version).  Therefore we should respect
the value of SED so we are sure to use the correct one.

Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@sun.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2010-03-22 00:45:54 -05:00
Yaakov Selkowitz
5e00f464c5 Fix relink targets for silent rules
Add $(AM_V_at) to all relink make targets to silence them when automake
silent rules are in use.

Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@sun.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2010-03-22 00:45:52 -05:00
Yaakov Selkowitz
fa7e062962 Use EXEEXT in relink rules for portable DDXs
On Cygwin and MinGW, executables use the .exe suffix.  Autoconf and
automake set EXEEXT on these platforms, and leave it empty on others
where no suffix is used.  $(EXEEXT) must be appended to executable names
in custom rules for portability:

http://www.gnu.org/software/automake/manual/html_node/EXEEXT.html

Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@sun.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2010-03-22 00:45:51 -05:00
Yaakov Selkowitz
037869d7b8 kdrive: Use $(MAKE) in relink rules
Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@sun.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2010-03-22 00:45:49 -05:00
Yaakov Selkowitz
2a11ffa977 Rename xdmx client to dmxinfo
The DMX Xdmx server and xdmx client cannot both be installed on
case-insensitive file systems.  The client is undocumented and
so renaming it is the best option.

Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
2010-03-22 00:45:46 -05:00
Yaakov Selkowitz
fbb4903eaa Cygwin/X: Fix windres rule for automake silent rules
Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Reviewed-by: Rémi Cardona <rem@gentoo.org>
Reviewed-by: Keith Packard <keithp@keithp.com>
2010-03-22 00:45:45 -05:00
Yaakov Selkowitz
8db8946909 Cygwin/X: Fix make dist after 11252ed82e
Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Acked-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
2010-03-22 00:45:43 -05:00
Jeremy Huddleston
ed31d50b5f XQuartz: Constrain the pointer to the updated display bounds on display reconfigure.
http://xquartz.macosforge.org/trac/ticket/346
2010-03-21 21:56:39 -07:00
Jeremy Huddleston
927480be12 XQuartz: pbproxy: Make standalone xpbproxy respect the launchd prefix
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2010-03-21 21:56:39 -07:00
Jeremy Huddleston
d16bc8a3cd XQuartz: xpbproxy: Cleanup xpbproxy threading
Confine xpbproxy to a single thread
Runs inside its own CFRunLoop

Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2010-03-21 21:56:39 -07:00
Jeremy Huddleston
9c9c3a85b0 XQuartz: Minor cleanup
Move RandRInit to where it will need to be (not yet implemented)

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-03-21 21:56:39 -07:00
Jeremy Huddleston
bb75d0df8b XQuartz: GLX: Fix Availability for Tiger ppc workaround
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2010-03-21 21:56:39 -07:00
Jeremy Huddleston
eac7cdabec Revert "XQuartz: Explicitly pass a bellProc to make XBell() work again."
I'm not quite sure why this was necessary, but DDXRingBell is being called
from CoreKeyboardBell, so we don't need a separate bellProc which would
result in multiple rings.

This reverts commit 9071b0d697.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-03-21 21:56:39 -07:00
Keith Packard
235fa50304 Merge commit 'fa5103a02bd509e4a102afdad2ab26cb22210367' 2010-03-21 15:38:40 -07:00
Keith Packard
95ca39b981 Merge remote branch 'jturney/master' 2010-03-21 15:24:06 -07:00
Oliver McFadden
e7ff956638 common: xf86Configure: alloc_strlen: Allocated memory does not have space for the terminating NUL of the string
buffer_alloc: Called allocating function "realloc" which allocated memory dictated by parameter "len + strlen(displaySize_string)"
alloc_strlen: Allocated memory does not have space for the terminating NUL of the string
var_assign: Assigned "ptr->mon_comment" to storage allocated by "realloc(ptr->mon_comment, len + strlen(displaySize_string))"

Signed-off-by: Oliver McFadden <oliver.mcfadden@nokia.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-03-21 15:20:53 -07:00
Yaakov Selkowitz
bf181915e1 Cygwin/X: Allow the default log location to be configurable
Allow the default log location to be configurable (e.g. /var/log),
and use separate logs for each display instance (e.g. XWin.0.log).

Make the type of g_pszLogFile const char*, per os/log.c:LogInit().

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2010-03-16 14:02:17 +00:00
Colin Harrison
cca4952d75 Xming: Warning fixes
Fix warnings due to prototypes not specifying function arguments
Fix warning with RegQueryValueEx()
Tidy up an include

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2010-03-16 13:56:58 +00:00
Colin Harrison
b8cf4153f8 Xming: Dead code removal
Remove some dead code, mostly code made obsolete by mandatory XKB

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2010-03-16 13:55:51 +00:00
Jon TURNEY
9b18f7ac0b Cygwin/X: Tidy up some cosmetic issues in log strings
Tidy up some cosmetic issues in log strings:
- Add missing '\n'
- Fix some strings starting with '\n'
- Remove '\f' from some log strings

These all just look daft in a log with timestamps.

Also clarify log message about screen origin coordinates

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2010-03-16 13:55:20 +00:00
Jon TURNEY
178e830378 Cygwin/X: Fix thinko in mount option checking
Fix a thinko in mount option checking.
Use symbolic names for values assigned to binary flag for clarity.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2010-03-16 13:54:55 +00:00
Francisco Jerez
fa5103a02b dri2: No need to blit from front on DRI2GetBuffers if they're just being reused.
It can be quite an expensive operation, so we're better off not doing
it unless it's totally required.

Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
2010-03-16 09:51:08 -04:00
Roland Scheidegger
67a8c659f2 hw/xfree86: move reference counting out of the UseHWCursor[ARGB] functions
The problem is that the xf86_use_hw_cursor(_argb) functions may get this
correctly now, some drivers will replace these generic versions with their
own functions. It is pretty insane to expect them to do reference counting
of the cursor (as an example, look at driver/xf86-video-vmware to see how
that looks like as a workaround). There are even places in xserver itself
which replace these two functions.
The segfaults if no reference counting is done are caused because the
reference count of the cursor reached zero, hence the cursor was freed,
however xf86CursorEnableDisableFBAccess() brought it back to life from
the dead (from the SavedCursor).
This patch hence adds reference counting in xf86CursorSetCursor. As per Michel
Daenzer's suggestion, also free the cursor upon xf86CursorCloseScreen.
In theory with this it should be possible to remove the reference
counting in the UseHwCursor functions I think, though it should also be
safe to keep them.

Signed-off-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Michel Dänzer <michel@daenzer.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-03-15 08:37:53 -07:00
Roland Scheidegger
75efb46a14 hw/xfree86: fix refcounting in xf86_use_hw_cursor
This is the same fix as was done in
fcdc1d78cc for xf86_use_hw_cursor_argb.

Signed-off-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Michel Dänzer <michel@daenzer.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-03-15 08:36:33 -07:00
Keith Packard
df9b6f16b2 Merge remote branch 'jeremyhu/master' 2010-03-15 08:26:58 -07:00
Gaetan Nadon
5f169f5493 XQuartz: remove undefined XSERVER_CFLAGS variable
This is a variable local to configure.ac which is not AC_SUBST()
It is undefined in any generated Makefile.

Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-03-15 08:24:02 -07:00
Jeremy Huddleston
5172253bae XQuartz: Use an empty xkb keymap by default
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-03-11 22:27:38 -08:00
Jeremy Huddleston
b117bc7a44 XQuartz: Include os.h for OsAbort()
Fixes regression from 5b9a52be7e

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-03-11 22:27:38 -08:00
Jeremy Huddleston
b7a16117c6 XQuartz: GLX: Fix prototype for swapBuffers
This was a regression introduced by 04a54f69a8

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-03-11 22:27:37 -08:00
Peter Hutterer
df9f327304 xfree86: fix xf86Config.c build error in --enable-debug mode. (#26971)
xf86Config.c: In function 'configInputDevices':
xf86Config.c:1514: error: request for member 'lay_identifier' in something
not a structure or union
make[5]: *** [xf86Config.lo] Error 1

Introduced with e1165632bd.

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

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Dan Nicholson <dbn.lists@gmail.com>
2010-03-11 08:48:49 +10:00
Peter Hutterer
1160681032 xfree86: don't warn about nonexisting core pointer/keyboard in config.
In the vast majority of cases there is no xorg.conf that specifies a core
pointer/keyboard. Skip this warning, since we'll get another notification
about how the server relies on the config backend for input devices anyway.

Leave the warning in for the error case (AEI off).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Fernando Carrijo <fcarrijo@yahoo.com.br>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
2010-03-11 08:48:49 +10:00
Matt Turner
bbae92795c Replace assembly with generic unaligned access code
Removes Alpha assembly, and probably works around unaligned accesses on
other sensitive platforms.

Signed-off-by: Matt Turner <mattst88@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Compiled-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-03-03 20:02:49 -08:00
Peter Hutterer
9e7b6e565f dmx: fix OsAbort()-related build error in examples/xinput.c
5b9a52be7e changed the server to use OsAbort()
instead of abort(). xinput in dmx is a client program though and fails to
link if it tries to use OsAbort(). Switch it back to using abort().

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Fernando Carrijo <fcarrijo@yahoo.com.br>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Rami Ylimaki <ext-rami.ylimaki@nokia.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-03-03 19:59:18 -08:00
Keith Packard
de86a3a344 Allow for missing or disabled compat_output
When the compat output is missing (I don't think this is actually
possible), or is disabled (and hence has no crtc), we would like to
avoid dereferencing NULL pointers. This patch creates inline functions
to extract the current compat output, crtc or associated RandR crtc
structure, carefully checking for NULL pointers everywhere.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-02-25 12:48:27 -08:00
Keith Packard
fbbadca7e8 Share enum definition for det_monrec_parameter sync_source
There were two separate enum definitions, one inside
det_monrec_parameter struct and one for a local variable (which was then
stored inside the struct). Sharing a single definition makes the
code more obviously correct while making the compiler happier.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-02-25 12:48:06 -08:00
Robert Bragg
4b55b2cf8a DRI2: initialize event->drawable in DRI2SwapEvent
We weren't initialising the drawable in the event structure so the
client side DRI2WireToEvent used for translating the event into a GLX
event wouldn't be able to lookup up the corresponding GLXDrawable before
passing the event on.

Signed-off-by: Robert Bragg <robert@linux.intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-02-25 11:43:37 -08:00
Simon Farnsworth
93ff1bc588 Always enable outputs that have been forced on in the configuration file
If the user has gone to the effort of manually enabling an output in
the configuration file assume that they know what they're doing.

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

Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-02-22 13:28:40 -08:00
Rami Ylimaki
5b9a52be7e os: Prevent core dump from being truncated.
The problem fixed by this patch can be reproduced on Linux with the
following steps.
- Access NULL pointer intentionally in ProcessOtherEvent on key press.
- Instead of saving core dump to a file, write it into a pipe.
  echo "|/usr/sbin/my-core-dumper" > /proc/sys/kernel/core_pattern
- Dump the core by pressing a key.

While the core is being dumped into the pipe, the smart schedule timer
will cause a pending SIGALRM. Linux kernel stops writing data to the
pipe when there are pending signals. This causes the core dump to be
truncated. On my system I'm expecting a 6 MB dump but the size will be
60 kB instead. The problem is solved if we block the SIGALRM caused by
expired smart schedule timer.

I haven't been able to reproduce this problem in the following cases.
- Save core dump to a file instead of a pipe.
- kill -SEGV `pidof Xorg`
- Press a key to dump core while gdb is attached to Xorg.
- Give option -dumbSched to Xorg.

Also note that the fix works only when NoTrapSignals has the default
value FALSE. The problem can still be reproduced if error signals
aren't trapped. In addition to pending SIGALRM, there is a similar
problem with pending SIGIO from the keyboard driver during core dump.

Signed-off-by: Rami Ylimaki <ext-rami.ylimaki@nokia.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-02-17 23:20:52 -08:00
Oliver McFadden
031f92bf9a parser: corrected xf86getBoolValue to use case insensitive compare
commit c6e8637e29 introduced this
regression; it can cause existing config files to be parsed incorrectly.

Acked-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
Signed-off-by: Oliver McFadden <oliver.mcfadden@nokia.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-02-17 23:16:25 -08:00
Alan Coopersmith
be96fb2f02 Solaris xf86OSRingBell() off-by-one error in filling iov[] array
When generating sound buffers for /dev/audio bells, insert waveform
for beep *or* silence, but not both, so we don't write one entry past
the end of the iov buffer when the final bit of soundwave ends up in
the final entry allocated in the iov array.

Fixes OpenSolaris bug 6894890:
 http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6894890

Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-02-17 23:15:34 -08:00
Matt Turner
2d40f22d1e Use C-style comments in x86emu
Signed-off-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-02-17 23:13:04 -08:00
Jeremy Huddleston
4e8bf12b13 XQuartz: Fix a possible buffer overrun in quartzAudio
Also dropped deprecated API while there

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-02-15 16:46:21 -08:00
Jeremy Huddleston
4127e8e5be XQuartz: clang static analysis fixes
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-02-15 15:03:49 -08:00
Jeremy Huddleston
c686c5cbdc XQuartz: Fix linking (CloseInput())
Fixes regresison from d33adcdf03

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-02-15 15:03:49 -08:00
Dan Nicholson
8736d112af xfree86: Reorder InputClass option priorities
Currently the config and InputClasses are merged together so that the
options from the config backend have the highest priority. This is bad
since it means options such as a default XKB layout set by the backend
cannot be changed by the user.

This patch changes order of precedence to be:

1. xorg.conf
2. xorg.conf.d (later files have higher priority)
3. config backend

In order to allow this ordering, the config parsing has been changed to
read the xorg.conf.d files before xorg.conf. This has the consequence
that the core device picking which looks for the first InputDevice may
not find it in xorg.conf.

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-02-15 15:27:42 +10:00
Peter Hutterer
d33adcdf03 dix: move config_init into the DDX.
The only DDX currently using hotplugging is the xfree86 one and it looks
like it'll stay that way for a bit. Move the initialization to the DDX,
since Xephyr, Xnest, and friends don't need HAL or udev notifications.

Add CloseInput (counterpart to InitInput) to be able to clean up the config
initialization from the DDX as well.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
2010-02-15 09:15:18 +10:00
Soeren Sandmann
0b73f98cbd xfree86: Add qxl driver to the autoconfig logic
The qxl driver is for the QXL virtualized graphics device.

Signed-off-by: Søren Sandmann Pedersen <ssp@redhat.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-02-12 14:48:11 -08:00
Keith Packard
57ffeb3f2b Merge remote branch 'jturney/master' 2010-02-12 13:36:32 -08:00
Peter Hutterer
c6d9bc092c Add tag matching to input attributes.
Tags may be a list of comma-separated strings that match against a MatchTag
InputClass section. If any of the tags specified for a device match against
the MatchTag of the section, this match is evaluated true and passed on to
the next match condition.

Tags are specified as "input.tags" (hal) or "ID_INPUT.tags" (udev), the
value of the tags is case-sensitive and require an exact match (not a
substring match).

i.e. "quirk" will not match "QUIRK", "need_quirk" or "quirk_needed".

Example configuration:
udev:
    ENV{ID_INPUT.tags}="foo,bar"

hal:
    <merge key="input.tags" type="string">foo,bar</merge>

xorg.conf:
    Section "InputClass"
            Identifier "foobar quirks"
            MatchTag "foo|foobar"
            Option "Foobar" "on"
    EndSection

Where the xorg.conf section matches against any device with the tag "foo"
or tag "foobar" set.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Tested-by: Dan Nicholson <dbn.lists@gmail.com>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
2010-02-11 19:25:49 +10:00
Peter Hutterer
3ac43df5d4 Add xstrtokenize to the dix.
Move tokenize out of the parser, make it a dix util function instead.
Splitting a string into multiple substrings is useful by other places, so
let's use it across the line. Future users include config/hal, config/udev
and of course the parser.

Example usage:
char **substrings = xstrtokenize(my_string, "\n");

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
2010-02-11 19:25:39 +10:00
Dan Nicholson
27d1b86d1b xfree86: Set fnmatch pathname flag for InputClass device matching
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-02-11 19:25:34 +10:00
Dan Nicholson
9b369f7127 xfree86: Allow multiple arguments to InputClass matches
In order to keep the number of InputClass sections manageable, allow
matches to contain multiple arguments. The arguments will be separated
by the '|' character. This allows a policy to apply to multiple types of
devices. For example:

    Section "InputClass"
        Identifier "Inverted Mice"
        MatchProduct "Crazy Mouse|Silly Mouse"
        Option "InvertX" "yes"
    EndSection

This applies to the MatchProduct, MatchVendor and MatchDevicePath
entries. Currently there is no way to escape characters, so names or
patterns cannot contain '|'.

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-02-11 19:25:32 +10:00
Dan Nicholson
a378e361a5 xfree86: Use "Ignore" option in InputClass to skip devices
Sometimes it is desirable to skip adding specific input devices to the
server. The "Ignore" option is used similarly to Monitor sections so
that matched devices will not be added. BadIDChoice is returned to the
config backend so that it will clean up all resources.

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-02-11 19:25:18 +10:00
Dan Nicholson
8b1a685f00 xfree86: Handle config files ending without newline
The config parser expects to find a newline at the end of each line, so
files ending without one would confuse it. A newline is inserted at the
end of the buffer in these situations. Additionally, switching to the
next config file is moved to the higher level to allow parsing of the
last line of the previous file to complete before shifting the index and
resetting the line number.

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Tested-by: Stephan Raue<stephan.raue@gmx.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-02-11 19:25:14 +10:00
Dan Nicholson
67bc278a51 xfree86: Make InputClass docs and comments match reality
Drivers and options specified in InputClass sections work on a "first
match wins" strategy. Let's be consistent when documenting it.

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-02-11 19:25:10 +10:00
Jon TURNEY
c76248fda9 Cygwin/X: Avoid a collision between DEBUG and a token name
Rename a token to avoid a collision between DEBUG defined via AC_DEFINE
if --enable-debug is configured, and the token for the 'debug' instruction
in the XWin preferences file

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2010-02-05 19:21:19 +00:00
Jon TURNEY
b7dbbd3cd4 Cygwin/X: Avoid cursor size log spam
Fedora 12 likes to use a 39x26 animated wait cursor.  Avoid spamming
the log with warnings that each frame can't be completely contained
in the 32x32 native cursor

Also reformat log message so it doesn't contain a '\n\t'. I mean,
it's not like we might want to grep the log or something...

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2010-02-05 19:21:18 +00:00
Jon TURNEY
7f54ccafad Cygwin/X: Make transient windows resizable again
Reverts the change which makes parented windows non-resizeable

Because this was trying to do something which we should be doing, as an alternative we
try checking WM_NORMAL_HINTS for windows which shouldn't  be resizable

If a window has a maximum size specified, no maximize box
If a window has a fixed size (max size == min size, per EWMH 1.3 Implementation Notes), no resizing frame

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2010-02-05 19:21:16 +00:00
Jon TURNEY
654d2e372d Cygwin/X: Discourage other WMs in multiwindow mode
Tidying up of other WM detection code when ading SWT/Motif
fix in commit 71519a572f
was rather over-agressive and now allows other WMs to think
they can start when the internal WM is running.

Revert to the behaviour of selecting ButtonPressMask events
as well on the root window, so other WMs will be dissuaded
from starting

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2010-02-05 19:21:14 +00:00
Jon TURNEY
26857b1c20 Cygwin/X: Update XWin man page
Restructure to group similar options and offer some commentary on those groups
Review option descriptions, clarify and bring up-to-date

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2010-02-05 19:21:10 +00:00
Jon TURNEY
6f1836bfbd Cygwin/X: Update DDX specific -help text
Alphabetize options
Review option descriptions, clarify and bring up to date
Add missing option descriptions

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2010-02-05 19:19:26 +00:00
Jon TURNEY
22982b9e95 Cygwin/X: XSupportsLocale() failure is non-critical
Treat XSupportsLocale() returning false as non-critical to internal client
theads startup, and issue a warning, not an error

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2010-02-05 19:15:09 +00:00
Yaakov Selkowitz
f60b7712b3 Cygwin/X: Report BUILDERSTRING with version information
Report BUILDERSTRING with version information

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2010-02-05 19:15:08 +00:00
Jon TURNEY
2f2f3da080 Cygwin/X: Copy the state of the Windows keyboard device to the Virtual Core Keyboard at startup.
Otherwise, this happens lazily after the first keypress, which can lead
to applications which are started from a shell window and inspect the
keyboard state before a character is typed getting the wrong idea about
the desired keymap (e.g. xemacs shows this behaviour)

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2010-02-05 19:15:05 +00:00
Jon TURNEY
7a440e5b7a Cygwin/X: Tidy up system.Xwinrc
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2010-02-05 19:15:04 +00:00
Yaakov Selkowitz
11252ed82e Cygwin/X: Look for system.Xwinrc in SYSCONFDIR/X11
Look for system.Xwinrc in SYSCONFDIR/X11 (usually /etc/X11)
Rename sample system.Xwinrc file not to have a X11R6 path in it's name
Add makefile install rule for system.XWinrc

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2010-02-05 19:14:52 +00:00
Yaakov Selkowitz
34269a90ea Cygwin/X: Update resources file and About dialog
Use the configured vendor web address in the About dialog

Update resources file: rework About dialog, use 'MS Shell Dlg 2'
logical font for all dialogs, add ellipsis to exit option in tray
menu as it (may) trigger another dialog.

Get short vendor name from xwin-config.h, like other configuration
data presented in the About dialog box, rather than creating the
PROJECT_NAME define

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2010-02-05 18:17:36 +00:00
Colin Harrison
881812438b Xming: Use 8 point font for URL in About dialog
Use an 8 point font for URL in About dialog, to match the rest
of the text in that dialog

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2010-02-05 18:17:35 +00:00
Colin Harrison
c02638fd68 Xming: Add a manifest file
Use manifests to enable XP style controls
(only effective for XP and later and when themes are enabled).
The addition of manifests shouldn't cause compatibility problems with older Windows versions.

Manifest must have execute permissions, otherwise attempts to
execute XWin.exe in the same directory will fail...

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2010-02-05 18:17:33 +00:00
Jon TURNEY
fd8a32baba Cygwin/X: Window placement refinement for multiwindow mode
Window placement refinement for multiwindow mode, ensure a window actually
ends up somewhere visible if it tries to create itself offscreen (which
can happen for e.g. if it has a stored position from a different sized
display)

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2010-02-05 18:17:32 +00:00
Jon TURNEY
7eb840fd42 Cygwin/X: Respect the system's ownership of the clipping region
Respect the system's ownership of the clipping region used for shaped windows

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2010-02-05 18:17:30 +00:00
Colin Harrison
bad41bdfd4 Xming: Always update the Windows title Unicode (wide-character) in -multiwindow mode.
Apply the Windows title wide-character in -multiwindow mode. Windows should now
display correct client X Window titles for locales with wide characters.

Copyright (C) Colin Harrison 2005-2008
http://www.straightrunning.com/XmingNotes/
http://sourceforge.net/projects/xming/

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2010-02-05 18:17:29 +00:00
Jeremy Huddleston
52456c602c XQuartz: Attatch a stub display when CoreGraphics reports no displays.
This is half of the required changes to address the "stuck mouse pointer"
bug that occurs when X11 launches while the displays are asleep.  The
remainder of the fix is part of libXplugin which needs to be updated to
send XP_EVENT_DISPLAY_CHANGED when the display wakes up.  If you don't
have a recent enough libXplugin (expected in 2.5.0_beta2 or later), you
can cause this event to be sent by changing your display resolution (or
you could just start X11.app with your screens awake).

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-01-30 14:49:02 -08:00
Jeremy Huddleston
15f4bb6dc6 XQuartz: Dead code removal
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-01-30 14:30:40 -08:00
Jeremy Huddleston
7ba5de6e9e XQuartz: Add some .gitignore magic
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2010-01-30 10:55:38 -08:00
Tiago Vignatti
5e81078cf5 xfree86: vgaarb: remove useless debug
This is RAC's remnant. Any sane person would use a more wise method of
debugging instead.

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

Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-01-28 22:45:01 -08:00
Aaron Plattner
e38df06772 DRI2: Bump the dri2 module version to 1.2.0 to reflect recent API changes.
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-01-28 14:58:04 -08:00
Jesse Barnes
711e26466a DRI2: handle drawable destruction properly at DRI2SwapComplete time
Simon reported an issue with kwin that turned out to be a general problem.  If
a drawable goes away before its swap completes, we'll try to free it up.
However, we free it improperly, which causes a server crash in
DRI2DestroyDrawable.  Fix that up by splitting the free code out and calling
it from DRI2SwapComplete.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Reviewed-by: Michel Dänzer <michel@daenzer.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-01-27 14:35:18 -08:00
Alan Coopersmith
0038290728 Avoid segfaults in XF86VidMode GammaRamp functions if randr_crtc is NULL
Fixes crash when xscreensaver tries to use GammaRamp calls to fade out
http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6915712

Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-01-27 14:18:20 -08:00
Keith Packard
0b21a0416b Merge remote branch 'alanc/master' 2010-01-27 14:14:15 -08:00
Michael Vogt
1e6fd65d0b xfree86/modes: only call gamma_set if its non NULL
I ran accross a crash with xf86-video-nv-2.1.15 [1] and xserver
1.7.3.901. It looks like the problem is that gamma_set is called even
if that is NULL.

[1] https://launchpad.net/bugs/494627

Reviewed-By: Matthias Hopf <mhopf@suse.de>
Signed-off-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-01-27 14:10:48 -08:00
Aaron Plattner
f311f2d047 DRI2: Allow multiple driver names.
Each driver type (e.g. DRI2DriverDRI or DRI2DriverVDPAU) can have a name in the
driverNames array in DRI2InfoRec.  DRI2Connect returns the name for the driver
specified by driverType.  Also print names of supported drivers in
DRI2ScreenInit.

Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-01-27 13:57:00 -08:00
Christian Zander
f57bc0ede8 x86emu: Respect the LEA 67h address size prefix.
Signed-off-by: Christian Zander <chzander@nvidia.com>
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Tested-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-01-27 13:48:37 -08:00
Alan Coopersmith
39ab474197 Move OS-specific VT key handler code from common to os-support
Adds new function xf86Activate to the OS-specific *VTsw*.c files
and calls it from xf86ProcessActionEvent

Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Tested-by: Tiago Vignatti <tiago.vignatti@nokia.com> (GNU/Linux)
2010-01-25 11:10:00 -08:00
Aaron Zang
15ca3312c0 Solaris: Avoid switching to inactive VT's
Fix for OpenSolaris bug 6876992: "[vconsole] Ctrl+Alt+F12 switchs to blank
console screen with hotkeys property turned-off"
http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6876992

Xorg needs to do sanity test for the VT it is commanded to switch to.
If the VT is not opened by any process, discard the switching request.

The changes also contain the fix for some flaws discovered when
getting the new gdm to run.

Signed-off-by: Aaron Zang <Aaron.Zang@Sun.COM>
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2010-01-25 11:09:28 -08:00
Gaetan Nadon
2984c18eb9 config: replace custom code with reusable macro XORG_WITH_DOXYGEN
XORG_WITH_DOXYGEN provides additional functions like a configure
option which allow platform builders to control the usage of
the doxygen program.

This is a requirement from platforms that do not have such doc tool.
A platform with a back level doxygen may use --without-doxygen
to get the rest of the documentation built.

Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-01-24 12:52:20 -08:00
Peter Hutterer
6850ea8fb9 xfree86: replace True/False with TRUE/FALSE.
xf86Xinput.c relied on xkbsrv.h's definition of True/False which seems odd
at first and weird on second glance.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-01-25 09:33:08 +13:00
Jeremy Huddleston
6f6a99abc1 XQuartz: Don't FatalError in x_hook_run if the list is empty
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2010-01-13 14:39:54 -08:00
Jeremy Huddleston
6bde306f7f XQuartz: Update copyright in bundle for 2010
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2010-01-13 11:21:28 -08:00
Jeremy Huddleston
6008cc1164 XQuartz: Setup the modifier map in the quartz thread
This avoids possible doing it twice which could result in incorrect
keycodes for alt due to our loss of information about its side.

Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2010-01-13 11:21:28 -08:00
Keith Packard
44f9c3d16c Merge remote branch 'jbarnes/master' 2010-01-13 10:19:21 -08:00
Jesse Barnes
84956ca43b GLX/DRI2: add INTEL_swap_event support
This allows clients to easily check for swap completion status in their
main loop.

Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Adam Jackson <ajax@nwnk.net>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-01-11 16:17:15 -05:00
Jesse Barnes
04a54f69a8 DRI2: add support for new DRI2 protocol requests
Support the new DRI2 2.2 protocol requests: DRI2SwapBuffers, DRI2GetMSC,
DRI2WaitMSC, DRI2WaitSBC and DRI2SwapInterval.

These requests allow the server to support the SGI_video_sync,
SGI_swap_interval, and OML_sync_control GLX extensions if DDX support is
present.  The new DDX APIs are documented in dri2.h.

Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Adam Jackson <ajax@nwnk.net>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-01-11 16:16:35 -05:00
Simon Thum
032f97808c xfree86: init pointer feedback controls from options
With InputClass support, it makes more sense to cover all
aspects of acceleration in options. Previously, one could only set the
default on the command line.

Signed-off-by: Simon Thum <simon.thum@gmx.de>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-01-11 15:30:03 +10:00
Simon Thum
0722c287a4 xfree86: document pointer acceleration in xorg.conf.man
Signed-off-by: Simon Thum <simon.thum@gmx.de>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Fernando Carrijo <fcarrijo@yahoo.com.br>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-01-11 15:26:46 +10:00
Simon Thum
1aca2d7575 whitespace fixes
Signed-off-by: Simon Thum <simon.thum@gmx.de>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-01-11 15:26:46 +10:00