Commit Graph

387 Commits

Author SHA1 Message Date
Adam Jackson
7c0709a736 requestingClient is an xprintism, hide it for other servers. 2008-02-14 07:11:52 +11:00
Adam Jackson
2ce35f6d45 Simplify critical output flushing. 2008-02-14 07:07:51 +11:00
Adam Jackson
aa5216e897 Rip out useless indirection in the callback list management. 2008-02-14 07:02:13 +11:00
Eamon Walsh
0d492b2166 XACE: Move the selection access hook to its own function. 2008-02-12 19:59:10 -05:00
Eamon Walsh
de16a8c530 XACE: Correct some protocol error values in the colormap routines. 2008-02-07 20:14:16 -05:00
Eamon Walsh
bb1a577a68 XACE: Move the property access hook to its own function. 2008-02-05 20:07:08 -05:00
Magnus Vigerlöf
a56ef7aaa4 dix: Move motion history update until after screen crossing and clipping
Cross screen and clip the coordinates before updating the motion history
so that it will have the same contents as the events that are reported.
2008-02-05 21:12:52 +01:00
Magnus Vigerlöf
a0284d577a dix: Skip call to clipAxis for relative core-events
Relative events that generates both core and extention
events will have its axis cliped and screen changed by
miPointerSetPosition when the events are processed. For
absolute and non core-generating relative events the
axis must be clipped if we shouldn't end up completely
outside the defined ranges (if any).
2008-02-05 21:12:52 +01:00
Magnus Vigerlöf
d9e23c4ff1 Bug # 10324: dix: Add scaling of X and Y on the reported pointer-events
Restore the rescaling code for x and y axis when generating
motion events.
2008-02-05 21:12:52 +01:00
Magnus Vigerlöf
f04c083869 Bug # 10324: dix: Allow arbitrary value ranges in GetPointerEvents
Don't use a possitive value as a marker for if a max-value
is defined on the valuators. Use the existence of a valid
value range instead. This will also make it possible to
define arbitrary start and end-values for min and max as
long as min < max.
2008-02-05 21:12:52 +01:00
Magnus Vigerlöf
12e5324032 dix: Always add valuator information if present
Send valuator information for all event types, not only for
MotionEvents and absolute button events.
2008-02-05 21:12:52 +01:00
Peter Hutterer
1692dcf197 dix: print out event type if a bogus pointer event occurs. 2008-01-30 13:04:58 +10:30
Eamon Walsh
7724c30a75 XACE: Stop using fake requestVectors in favor of a simple hook call. 2008-01-25 17:28:17 -05:00
Matthieu Herrb
8e133d9674 Fix for CVE-2008-0006 - PCF Font parser buffer overflow. 2008-01-17 15:29:06 +01:00
Kristian Høgsberg
a6a7fadbb0 Don't break grab and focus state for a window when redirecting it.
Composite uses an unmap/map cycle to trigger backing pixmap allocation
and cliprect recomputation when a window is redirected or unredirected.
To avoid protocol visible side effects, map and unmap events are
disabled temporarily.  However, when a window is unmapped it is also
removed from grabs and loses focus, but these state changes are not
disabled.

This change supresses the unmap side effects during the composite
unmap/map cycle and fixes this bug:

  http://bugzilla.gnome.org/show_bug.cgi?id=488264

where compiz would cause gnome-screensaver to lose its grab when
compiz unredirects the fullscreen lock window.
2008-01-16 21:56:08 -05:00
Peter Hutterer
981bb9f1e3 dix: set the correct number of valuators in valuator events.
(first_valuator + num_valuators) must never be larger than the number of axes,
otherwise DIX freaks out. And from looking at libXI, anything larger than 6 is
wrong too.
(cherry picked from commit 9f6ae61ad1)
2008-01-08 12:06:02 +10:30
Eamon Walsh
7f376f23db devPrivates rework: Free callback lists after use. 2008-01-03 23:17:06 -05:00
Eamon Walsh
de18703d2a dix: Fix bug+leak in callback manager DeleteCallbackList function. 2008-01-03 23:17:06 -05:00
Alan Coopersmith
895073f6b4 Restore include & typedef needed by dtrace
996b621bec deleted a couple lines too many
2008-01-02 18:09:26 -08:00
Daniel Stone
24105cf658 Input: Don't reinit devices
If a device is already initialised (i.e. the virtual core devices) during
IASD, don't init them again.  This fixes a leak.
2007-12-28 15:51:36 +02:00
Jeremy Huddleston
42802a8e6b Xquartz: General Cleanup
General code cleanup, whitespace, dead code removal, added missing prototypes.
Made Xquartz come to foreground later in startup, so it doesn't appear for Xquartz -version
(cherry picked from commit 36922e8ff4)
2007-12-20 13:18:17 -08:00
Eamon Walsh
97c82ce051 XACE: Restore the old background None behavior in response to bug #13683.
From the X11 protocol spec:

"If background None is specified, the window has no defined background."

This means that toolkits and apps cannot rely on the "transparent" nature
of the current implementation!  At some point before the next release,
XACE will switch back to a solid background as the default.
2007-12-17 23:12:01 -05:00
Bartosz Fabianowski
5b02a6ca5b Input: Fix proximity events with valuators
Initialise num_events to 1, so we always send a proximity event, and then
optionally valuator events.  Also make sure mieq can deal with valuator
events sent after proximity events.
2007-12-14 13:15:26 +02:00
Eamon Walsh
c8feb73f58 Merge branch 'master' into XACE-SELINUX
Conflicts:

	Xext/EVI.c
	Xext/bigreq.c
	Xext/cup.c
	Xext/dpms.c
	Xext/fontcache.c
	Xext/mitmisc.c
	Xext/xcmisc.c
	Xext/xf86bigfont.c
	Xext/xtest.c
	configure.ac
	dbe/dbe.c
	hw/darwin/darwin.h
	hw/darwin/darwinEvents.c
	hw/darwin/iokit/xfIOKit.h
	hw/darwin/iokit/xfIOKitCursor.c
	hw/darwin/quartz/fullscreen/fullscreen.c
	hw/darwin/quartz/fullscreen/quartzCursor.c
	hw/darwin/quartz/quartz.c
	hw/darwin/quartz/quartzCommon.h
	hw/darwin/quartz/quartzCursor.c
	hw/darwin/quartz/xpr/dri.c
	hw/darwin/quartz/xpr/dristruct.h
	hw/darwin/quartz/xpr/xprCursor.c
	hw/darwin/quartz/xpr/xprFrame.c
	hw/xfree86/modes/xf86RandR12.c
	include/cursor.h
	miext/rootless/rootlessCommon.h
	miext/rootless/rootlessScreen.c
	miext/rootless/rootlessWindow.c
	render/picturestr.h

Trying to pick up the pieces from the darwin churn here...
2007-12-13 18:38:25 -05:00
Adam Jackson
fa47910045 Clean up many #if 0. 2007-12-02 12:40:25 -05:00
Eamon Walsh
8503072e1c registry: add missing include statement. 2007-11-26 16:54:33 -05:00
Eamon Walsh
996b621bec registry: swap out the DTRACE XErrorDB stuff for the new registry call. 2007-11-26 15:59:44 -05:00
Eamon Walsh
54cb729ecc registry: Add a call for DTRACE compatibility. 2007-11-26 15:59:01 -05:00
Eamon Walsh
decd5a7c60 registry: Rebase registry to use the server config file of protocol names. 2007-11-26 15:26:49 -05:00
Eamon Walsh
9b0e72c8d9 registry: Add a great big list of protocol names, like the XErrorDB that
ships with Xlib.  This is considered temporary, until server-side XCB can
solve the problem programmatically.
2007-11-26 15:26:04 -05:00
Jeremy Huddleston
bcbaf2a0ce Darwin: Dead code removal, Code cleanup, Added launcher
Imported changes from xorg-server-1.2-apple to make master more current wrt
file layout, build system changes, and dead code removal.
2007-11-21 19:52:11 -08:00
Eamon Walsh
709c1a70c8 Remove some duplicate include statements. 2007-11-20 15:18:02 -05:00
Eamon Walsh
2d17f47cc7 Merge branch 'master' into XACE-SELINUX
Conflicts:

	hw/xnest/Pixmap.c
	include/dix.h
2007-11-19 18:10:46 -05:00
Eamon Walsh
60be452c2e xace: restore the old SaveScreens function and introduce new API, since the
old version is called from drivers...
2007-11-19 16:59:34 -05:00
Adam Jackson
20fd478324 Small static cleanups on dix/ 2007-11-15 17:01:33 -05:00
Eamon Walsh
1603130236 Merge branch 'master' into XACE-SELINUX
Conflicts:

	Xext/xace.c
	Xext/xace.h
2007-11-14 13:35:50 -05:00
Daniel Stone
e717409bae DIX/getevents: Document GetMaximumEventsNum() a little better
Note that the number returned by GMEN can _never_ change, and be a little more
explicit about the figure for repeats.
2007-11-07 03:58:56 +02:00
Daniel Stone
512bac25ec DIX: XKB: Set xkbInfo to NULL as well as freeing it (bug #10639)
XkbRemoveResourceClient wants to access xkbInfo if it exists, so make
sure we NULL it after freeing it.  It doesn't make much sense to move
the RemoveResourceClient call first, as there's not much point in
notifying clients while we're shutting the server down anyway.
2007-11-07 03:58:56 +02:00
Eamon Walsh
d7c5e8bfc1 Modified performance patches from Arjan van de Ven <arjan@infradead.org>
Subject: [PATCH] fix some performance gaps in Xace

The XaceHook function is used in several hotpaths.
The problem with it (performance wise) is twofold:
 * The XaceHook function has a big switch() statement for the hook number in it
 * The XaceHook function uses varargs to reassemble the final dispatch arguments again

Both are expensive operations... for something that is known at compile time

This patch turns the hotpath XaceHook call into a direct call to avoid
the switch and varargs; this gives me over 10% performance gain
on the x11perf benchmark.
2007-11-06 16:26:09 -05:00
Eamon Walsh
a52c9b2a59 Merge branch 'master' into XACE-SELINUX
Conflicts:

	dix/dispatch.c
	dix/property.c
	hw/xfree86/common/xf86VidMode.c
	include/xkbsrv.h
	render/glyph.c
	xkb/xkbActions.c
2007-11-05 19:08:36 -05:00
Daniel Stone
dda10c9066 Remove all traces of external RGB database (and Speedo)
Remove all references to an external RGB database (which hasn't been enabled
for a very long time).  Also get rid of some references to Speedo fonts.
2007-11-05 16:28:35 +00:00
Daniel Stone
83e5d9e75d DIX: Remove last alloca call
Replace with heap allocations.
2007-11-05 14:36:54 +00:00
Daniel Stone
914922fd61 DIX: Remove usage of alloca
Replace with heap allocations.
2007-11-05 14:34:43 +00:00
Ben Byer
6e4f5cf83f changing ALLOCATE_LOCAL to xalloc to prevent stack overflow 2007-11-05 05:53:34 -08:00
Aaron Plattner
f2e310132f Add CreatePixmap allocation hints.
These hints allow an acceleration architecture to optimize allocation of certain
types of pixmaps, such as pixmaps that will serve as backing pixmaps for
redirected windows.
2007-11-04 16:11:28 -08:00
Adam Jackson
f01e149d1a Move SIGUSR1 notification as late as possible.
If we inherited a signal mask from the parent process that ignores SIGUSR1,
then we will send SIGUSR1 to the parent to indicate when we're ready to
accept connections.  Unfortunately, we send this notification way too
early, right after creating the sockets rather than just before entering
the main loop.

Move it to just before Dispatch() so we're not lying quite so much.
2007-11-02 11:54:16 -04:00
Peter Hutterer
352c5a3112 dix: don't compress motion events from different devices (EventEnqueue)
(cherry picked from commit 8840829ab9)
2007-10-28 16:07:30 +02:00
Peter Hutterer
8d3d027062 dix: add XI event support to FixKeyState.
FixKeyState needs to be able to handle XI events, otherwise we get "impossible
keyboard events" on server zaps and other special key combos.
(cherry picked from commit 5ee409794e)
2007-10-28 16:05:04 +02:00
Eamon Walsh
5f9095f0d2 registry: Remove synthetic bit from event types in lookup function. 2007-10-25 19:09:26 -04:00
Eamon Walsh
8c6923018c xace: Add a "manage" access check when setting the Redirect event bits. 2007-10-25 19:01:29 -04:00