xserver 1.4.0.90

This commit is contained in:
matthieu 2007-12-13 21:06:02 +00:00
parent 2a2c29e078
commit 2fcd9ee667
192 changed files with 4424 additions and 2655 deletions

View File

@ -1,3 +1,466 @@
commit d63efecc9471ac53535932b80a85b7f408f06fb9
Author: Daniel Stone <daniel@fooishbar.org>
Date: Wed Dec 12 21:57:59 2007 +0200
Bump to 1.4.0.90
commit 446efcc554195970cb3ddcd992f7aac617d45b1d
Author: Bartosz Fabianowski <freebsd@chillt.de>
Date: Fri Dec 7 02:38:14 2007 +0000
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.
(cherry picked from commit 2dcfab37d38c0c72e9be7cc724047405c8029e88)
commit 9f4689173ef9db080592497dc2212ae79b8d6e02
Author: Daniel Stone <daniel@fooishbar.org>
Date: Thu Dec 6 00:46:32 2007 +0000
KDrive: Xephyr: Fix non-GLX builds
Only set noGlxExtension if we're actually building GLX.
commit d37351308b255d5f9bff3438b6767c62974902da
Author: Daniel Stone <daniel@fooishbar.org>
Date: Wed Dec 5 19:37:48 2007 +0000
XKB: Actions: Don't run certain actions on the core keyboard
Don't run VT switches, terminations, or anything, on the core keyboard: only
run actions which affect the keyboard state. If we get an action such as VT
switch, just swallow the event.
(cherry picked from commit 320abd7d1d906807448fa01ad3377daf707f46cc)
commit 27da1367c9ea143946b8b8d3dbd0f9d44c4a9039
Author: Daniel Stone <daniel@fooishbar.org>
Date: Wed Dec 5 19:36:59 2007 +0000
WaitForSomething: Ignore EAGAIN
If select ever returns EAGAIN, don't bother complaining.
(cherry picked from commit 85dd8efac1bc0715f03c99d261b1c5d0980623e1)
commit 259f86b13b453f3503afd3d523de32b43996d334
Author: Rich Coe <Richard.Coe@med.ge.com>
Date: Wed Dec 5 19:36:37 2007 +0000
OS: Connection: Keep trying select while it gets interrupted (bug #9240)
If we got interrupted (EINTR or EAGAIN) during select, just try again, rather
than shutting clients down on either of these errors.
(cherry picked from commit b7f3618f3933a810778093fd47564a1e3bf3fde6)
commit 90649e6a39dc6caad8313b25ef869a089f81aba7
Author: Rich Coe <Richard.Coe@med.ge.com>
Date: Wed Dec 5 19:31:07 2007 +0000
OS: Connection: Don't shut down disappeared clients (bug #7876)
If a client disappears in the middle of CheckConnections (presumably
because its appgroup leader disappears), then don't attempt to shut it down
a second time, when it's already vanished.
(cherry picked from commit d8b2cad3771a09860e7be1726f67e684cf7caeec)
commit 25d26b55e74b50a2fd0632329cb0bdca017fe8e6
Author: Kanru Chen <koster@debian.org.tw>
Date: Mon Dec 3 12:46:45 2007 +0000
Config: HAL: Fix XKB option parsing
Actually combine the XKB options into a string, rather than just repeatedly
writing a comma.
(cherry picked from commit da893908feb2dcf7c22420b3426ab3ac65c7ca99)
commit b037e4a5abb878ad89e7f27c2b6c23004625f6c3
Author: Peter Harris <peter.harris@hummingbird.com>
Date: Mon Oct 29 18:05:19 2007 -0400
Add missing swaps in panoramiXSwap.c
(cherry picked from commit cb67a10b7f6f564e0345de19316934361ea28720)
commit 3e0993fcf38e47dd42c27a2dcb5dde7d23222ca8
Author: Daniel Stone <daniel@fooishbar.org>
Date: Fri Nov 30 20:35:26 2007 +0200
ProcessOtherEvent: Don't do double translation of button events
We already deal with the button mapping in GetPointerEvents, so don't
do the remapping again in ProcessOtherEvent.
(cherry picked from commit 7ff002fe3e229330216d7f2ff16cdabe63014bcd)
commit cbf775cde7bb737ddf71fa3aa5b08c859d516084
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Sat Nov 17 22:50:07 2007 +0100
XKB: Generate correct key repeat events (bug #13114)
Make sure we send the correct event for the type of device when we're
sending key repeat events, which stops repeats being sent to incorrect
windows.
commit 3e987ea670aadefeb3a6ad05d9a39dd7902985f9
Author: Michel Dänzer <michel@tungstengraphics.com>
Date: Thu Oct 18 17:44:14 2007 +0200
EXA: Don't attempt to move in pixmaps that can't be accelerated.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=12815 .
(Related to commit 5d74416740de883b7ef0994afea4bbd4d3901be0 on master.)
commit 75b9dc907b332d64d074083cae0c6b099960f09b
Author: Michel Dänzer <michel@tungstengraphics.com>
Date: Thu Sep 27 13:08:41 2007 +0200
EXA: Make sure tile offsets passed to drivers are never negative.
Thanks to Björn Steinbrink for pointing out the problem on IRC.
(cherry picked from commit 006f6525057970a74382132237b2131286ad147c with
modifications.)
commit 732d586b0919e57ed836999f4117db3e776e2934
Author: Michel Dänzer <michel@tungstengraphics.com>
Date: Thu Sep 27 13:08:40 2007 +0200
EXA: Punt on fallback case not handled correctly in exaFillRegionTiled.
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=12520 .
(From master commit c7d6d1f5, modified to suit.)
commit a3aed33244914b64d08630e19100c71ab81e1a81
Author: Daniel Stone <daniel@fooishbar.org>
Date: Sat Nov 17 22:34:47 2007 +0100
XKB: Don't ring the bell when we don't have a BellProc (bug #13246)
(cherry picked from commit 55888552769ce6361174285b09dfb78ee22c170d)
commit f3a5d67688a0f691ef23cb44b1fdda190b5b8bef
Author: Daniel Stone <daniel@fooishbar.org>
Date: Sun Sep 23 12:43:31 2007 +0300
GetKeyboardEvents: Reject out-of-range keycodes (bug #12528)
We can only deal with keycodes between 8 and 255, so make sure that we never
accept anything out of this range.
(cherry picked from commit 0e800ca4651a947ccef239e6fe7bf64aab92257c)
commit 35bf7c738a8286a382aeef38c0f035773b3ab96a
Author: Naoki Hamada <nao@tom-yam.or.jp>
Date: Thu Oct 25 18:45:50 2007 +0300
Input: Fix key down test (bug #12858)
Fix the botched previous key_is_down test, which would give false positives.
Also move key_autorepeats to a separate inline function.
(cherry picked from commit 242f56f722243938e908d1957781ee53c2999783)
commit b3de1b9d375c98b72c88991ac2011e492254c61f
Author: Daniel Stone <daniel@fooishbar.org>
Date: Fri Oct 26 09:12:15 2007 +0300
XFree86 Misc/VidMode: Remove ridiculous debug ErrorFs
When we're building with --enable-debug, don't emit an ErrorF every time a
function gets called.
(cherry picked from commit 6d59bb5709a99ab60b482bbf3393ebffda7f9407)
commit 007e2239cf65535c4df3486e7b2cc42a4e86eb56
Author: Dodji Seketeli <dodji@seketeli.org>
Date: Mon Nov 12 20:29:12 2007 +0100
Xephyr: don't initialise the GLX extension
commit 7f231de5e05a8755d76e18595c57baf2e239a4be
Author: Daniel Stone <daniel@fooishbar.org>
Date: Tue Nov 6 15:05:06 2007 +0000
.gitignore: Ignore build directories
Ignore directories people might use for building.
(cherry picked from commit 36df34cffd0cfcfb250fb42596781b3d4e9871eb)
commit 4c20d6104691b370f14216035b5ff07ad5633098
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Fri Aug 17 15:29:16 2007 -0700
Actually build Secure RPC authentication support (missed in modularization)
(cherry picked from commit 23fbd5292d356067e85e1eec4eb4f743532b0503)
commit f350c81a912cf5eab8d88a7800a828141945a2f0
Author: Matthias Hopf <mhopf@suse.de>
Date: Wed Oct 24 20:31:51 2007 +0200
Prefer configured DisplaySize to probed DDC data, if available.
Based on patch by Hong Liu <hong.liu@intel.com>.
(cherry picked from commit 48ca5961caee62f2980017a6bdc96a1b4c747727)
commit c5501865703d5d4ee49e081b6075ab89a583deb6
Author: Keith Packard <keithp@koto.keithp.com>
Date: Sun Aug 19 20:29:37 2007 -0700
Screen size changing should leave FB alone when X is inactive.
xf86RandR12ScreenSetSize must protect calls to EnableDisableFBAccess with
suitable vtSema checks to avoid invoking driver code while the X server is
inactive.
(cherry picked from commit 265a633cf1fcbf497d6916d9e22403dffdde2e07)
commit 9244b8e4a2274946b56d9cf6d43487e11c29f7d7
Author: Elvis Pranskevichus <el@prans.net>
Date: Tue Nov 6 09:40:14 2007 +0000
Config: D-Bus: Fix dbus_bus_request_name failure check
The code in connect_hook incorrectly checks for dbus_bus_request_name failure.
The dbus_bus_request_name error indicator is -1, not 0. This leads
to subsequent assertion failure in libdbus.
(cherry picked from commit ddce48ede036f3996f8e584b0012c396c5df42fb)
commit 0050d7e78d990fa945bd808554b0a86721262786
Author: Daniel Stone <daniel@fooishbar.org>
Date: Tue Nov 6 14:52:03 2007 +0000
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.
(cherry picked from commit 23023af1c5a33546a2027cad23a946a2882e9893)
commit 846745c58108856e5fc1b6d94c91a245cbc4f16f
Author: Markku Vire <markku.vire@movial.fi>
Date: Thu Nov 1 22:43:04 2007 +0200
Config: HAL: Touchpads are pointers too
Treat touchpads -- not just mice -- as pointer devices.
(cherry picked from commit 3f1b6765aadf665ede8253464da19a5878f16e56)
commit ab80b27250bb583e3a40bf92cfe5edc117e4bd58
Author: Mark Vytlacil <mrv@wi.rr.com>
Date: Thu Nov 1 21:05:43 2007 +0200
XFree86: Input: Save/restore errno around SIGIO (bug #10683)
Make sure errno is saved and restored from the SIGIO handler, so errors
from system calls in input handlers don't break the interrupted code.
(cherry picked from commit 41c3069f7cf28155f8e6cfe0c10a12a1f5f76c7d)
commit ad05d5d035b32b05d304b2fc598f6fadeb077516
Author: Daniel Stone <daniel@fooishbar.org>
Date: Sun Sep 23 17:17:03 2007 +0300
Input: Generate XKB mapping changes for all core-sending devices (bug #12523)
When we change the mapping on a core device, make sure we propagate this
through to XKB for all extended devices as well.
(cherry picked from commit 27ad5d74c20f01516a1bff73be283f8982fcf0fe)
commit 84040b655e3ea9188a6c9d6dafea429ffc4690de
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Thu Sep 6 18:57:00 2007 +0930
xfree86: wrap keyboard devices for XKB.
Call ProcessOtherEvents first, then for all keyboard devices let them be
wrapped by XKB. This way all XI events will go through XKB.
Note that the VCK is still not wrapped, so core events will bypass XKB.
(cherry picked from commit d627061b48ae06d27b37be209d67a3f4f2388dd3)
(cherry picked from commit 8ead41388e36e21eea6fa0408c847f174911eab0)
commit e26e93c54e54ab4010dfdede47c3e56e4418bcbd
Author: Daniel Stone <daniel@fooishbar.org>
Date: Sat Oct 27 21:32:47 2007 +0300
XKB: Cope with all events in XkbProcessKeyboardEvent
Cope with Xi and pointer events in the (now increasingly misnamed)
XkbProcessKeyboardEvent. If it's the wrong type, call through the wrapping
chain to get out; else, process it.
(cherry picked from commit e717cf08e99746761d74289c426bbd84176f4435)
commit 37c690cfa4e9055209732ab5431fffb8886c7d67
Author: Daniel Stone <daniel@fooishbar.org>
Date: Sat Oct 27 21:31:39 2007 +0300
XKB: Don't update indicators on all devices, add missing include file
Don't get XkbUpdateIndicators to update the indicators on all our devices: we
already deal with that ourselves.
Add exevents.h include to get more (proto)types.
(cherry picked from commit 9db8846fa53d91193bbfe541b244e2326440011d)
commit 1dce9c20283279eac4d6e5cafc4f73a333548c07
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Wed Sep 26 18:04:59 2007 +0930
xkb: Unwrap properly in ProcessPointerEvent.
Instead of hardcoding CoreProcessPointerEvent, actually try to unwrap properly
and then call the unwrapped processInputProc. Seems to be a better idea,
especially since it makes stuff actually work...
(cherry picked from commit 8f9bf927e1beecf9b9ec8877131ec12c765e4d84)
(cherry picked from commit ee3aa948eb8ed181d037294ed87df6ceec81684e)
commit 940cce1f4856a3ffc6fdba9c807c8238ed1acf8b
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Thu Sep 27 11:44:03 2007 +0930
xkb: xkbHandleActions: let wrapping take care of event delivery.
This is hopefully better than hardcodey calling CoreProcessPointerEvent.
(cherry picked from commit 32d0440c7f6e604807cb14dd32349df6f22c903b)
(cherry picked from commit d3588a0aee33fbd233082f881c0d37152c6d4d8b)
commit 5909fb3c406356505440af8d53785d9ee06ab9be
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Wed Sep 12 17:40:11 2007 +0930
dix: don't compress motion events from different devices (EventEnqueue)
(cherry picked from commit 8840829ab93c4eb62eb58753c015da5307133fe5)
(cherry picked from commit 352c5a311200bf491153fe9ef16126c5877a57bb)
commit 600752bece350592f374470dd54b9e1cd2900d0b
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Thu Sep 6 18:52:02 2007 +0930
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 5ee409794ee604fcf84886f70429fc2d6b1ff4f1)
(cherry picked from commit 8d3d027062c105b50863dce43b8070ec560bc12e)
commit 15117d47bf883f3eefc57404f1dfc0c933ab054a
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Thu Sep 6 18:49:57 2007 +0930
xkb: enable XI event processing for xkb.
XI events can now take the same processing paths as core events, and should do
the correct state changes etc.
There's some cases where XKB will use KeyPress as type for an event to be
delivered to the client. Stuck warnings in, not sure what the correct solution
is yet.
(cherry picked from commit 6334d4e7be18de5f237c12a6dc20f75aa23477d0 with some
additional compile fixes and non-MPX adaptations)
(cherry picked from commit 99e826e867c1c5520153c539ba07a884aec88d0c)
commit 83e76fb3f7a89a237893c2b7df450d4f90eab52d
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Thu Jun 21 18:24:30 2007 +0930
Save processInputProc before wrapping it and restore it later, instead of
using a hardcoded ProcessKeyboardEvent. Otherwise we lose the ability to
process DeviceKeyEvents after the first key press.
This should be the correct fix now.
(cherry picked from commit 4d5df14f2c4a3108a8c8adfcf4766c0d1a9daad2)
(cherry picked from commit 91077bfc50d54be37c217e377c55b6bf886a2fab)
commit a53172827c69a88155a088843c9a3e8a7a7a0463
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Tue Sep 4 17:44:51 2007 +0930
xkb: Store the action filters per device in the XkbSrvInfoRec.
Using a global array for action filters is bad. If two keyboard hit a modifier
at the same time, releaseing the first one will deactivate the filter and
thus the second keyboard can never release the modifier again.
(cherry picked from commit bfe6b4d2d9952a80f8dbc63eec974ef894e5c226)
(cherry picked from commit 8b9481a113b56078191e2298bf590905978f6289)
commit b76b1d51fe3053fa2a60b64de9ac93f50ef252f5
Author: Daniel Stone <daniel@fooishbar.org>
Date: Sat Oct 27 21:33:52 2007 +0300
XFree86: Remove ridiculous SIGIO debugging
YOU PRESSED A KEY
AND AGAIN
YOU RELEASED A KEY
AND AGAIN
YOU PRESSED A KEY
AND AGAIN
... not so much.
(cherry picked from commit 493b83bd097372ae0023da9919da83af39e3fc1c)
commit b600e7c123ce637359a75c43bf67b3462eadb37e
Author: Daniel Stone <daniel@fooishbar.org>
Date: Sat Oct 27 21:35:31 2007 +0300
XKB: Add more bits to xkbsrv.h
Add the device private index, given we use that in a macro here, and also the
prototype for xkbUnwrapProc, since that's also useful.
(cherry picked from commit a3d48de5f2b7eacf3193c60f0fb461912201210b)
commit 63c6d9d622a10303f594a07bd86dda8e5f894ca7
Author: Daniel Stone <daniel@fooishbar.org>
Date: Sat Oct 27 21:34:22 2007 +0300
Xi: Include XI protocol header in exevents.h
Make sure we have all the types we need to use this header.
(cherry picked from commit e29e69960d67aa4b7a4d1551af509dbac193f438)
commit bd779f8cde1c71a0db8470b8c993504da7c1104e
Author: Daniel Stone <daniel@fooishbar.org>
Date: Sun Oct 28 15:46:26 2007 +0200
configure.ac/XFree86: Only build XF86Misc and XF86VidMode when appropriate
Don't build XF86Misc or XF86Vidmode in hw/xfree86/dixmod when it's been
explicitly disabled in configure, or we don't have the proto modules
installed.
(cherry picked from commit df57ae1639ba4f1719883c5bf868394e4748a022)
commit 881e4fb518c7ed4c95882368356901c1ec4b6abf
Author: Aaron Plattner <aplattner@nvidia.com>
Date: Thu Sep 20 14:00:33 2007 -0700
Set noCompositeExtension to TRUE when failing to initialize the extension (e.g. when Xinerama is enabled).
(cherry picked from commit 50fa8722d35c12e5f0322cebe25faf99c39d4f50)
commit ce55565ecd0411065878fa7c9983606d53663b7c
Author: Aaron Plattner <aplattner@nvidia.com>
Date: Thu Sep 20 16:22:24 2007 -0700
Don't segfault on shutdown if we never managed to connect to dbus.
(cherry picked from commit 3a965fdadccea7beff09a28c9c0ef4b4975eae38)
commit eba45539af33f7d312bcfee954786fe38ab8f391
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Thu Aug 30 18:22:12 2007 +0930
config: Use [config/dbus] consistently for error messages.
(cherry picked from commit 3f42af8c0ef1e5379bc836f589e0cbee43c02ac5)
commit c0da35bda136ed423f2963bd5c75ad0301ac7845
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Thu Aug 30 18:20:20 2007 +0930
config: return BadValue to caller if add/remove doesn't have parameters.
If message iterator cannot be created, the caller didn't supply any
parameters. Return BadValue, instead of dying a horrible death while being
stuck in an endless loop.
(cherry picked from commit 0fcde83d94507eadd9f99d4e6a63584b221c989c)
commit 99dd8b9414d1eb7aabc682be0b9cfd7a27eb2a6b
Author: Eric Anholt <eric@anholt.net>
Date: Thu Sep 6 01:42:43 2007 -0700

View File

@ -70,6 +70,7 @@ SProcPanoramiXGetState(ClientPtr client)
swaps (&stuff->length, n);
REQUEST_SIZE_MATCH(xPanoramiXGetStateReq);
swapl (&stuff->window, n);
return ProcPanoramiXGetState(client);
}
@ -81,6 +82,7 @@ SProcPanoramiXGetScreenCount(ClientPtr client)
swaps (&stuff->length, n);
REQUEST_SIZE_MATCH(xPanoramiXGetScreenCountReq);
swapl (&stuff->window, n);
return ProcPanoramiXGetScreenCount(client);
}
@ -92,6 +94,8 @@ SProcPanoramiXGetScreenSize(ClientPtr client)
swaps (&stuff->length, n);
REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq);
swapl (&stuff->window, n);
swapl (&stuff->screen, n);
return ProcPanoramiXGetScreenSize(client);
}

View File

@ -73,6 +73,10 @@ SOFTWARE.
#include "dixgrabs.h" /* CreateGrab() */
#include "scrnintstr.h"
#ifdef XKB
#include "xkbsrv.h"
#endif
#define WID(w) ((w) ? ((w)->drawable.id) : 0)
#define AllModifiersMask ( \
ShiftMask | LockMask | ControlMask | Mod1Mask | Mod2Mask | \
@ -240,7 +244,7 @@ ProcessOtherEvent(xEventPtr xE, DeviceIntPtr other, int count)
other->valuator->motionHintWindow = NullWindow;
b->buttonsDown++;
b->motionMask = DeviceButtonMotionMask;
xE->u.u.detail = b->map[key];
xE->u.u.detail = key;
if (xE->u.u.detail == 0)
return;
if (xE->u.u.detail <= 5)
@ -262,7 +266,7 @@ ProcessOtherEvent(xEventPtr xE, DeviceIntPtr other, int count)
other->valuator->motionHintWindow = NullWindow;
if (b->buttonsDown >= 1 && !--b->buttonsDown)
b->motionMask = 0;
xE->u.u.detail = b->map[key];
xE->u.u.detail = key;
if (xE->u.u.detail == 0)
return;
if (xE->u.u.detail <= 5)
@ -942,7 +946,7 @@ SetModifierMapping(ClientPtr client, DeviceIntPtr dev, int len, int rlen,
}
void
SendDeviceMappingNotify(CARD8 request,
SendDeviceMappingNotify(ClientPtr client, CARD8 request,
KeyCode firstKeyCode, CARD8 count, DeviceIntPtr dev)
{
xEvent event;
@ -957,6 +961,11 @@ SendDeviceMappingNotify(CARD8 request,
ev->count = count;
}
#ifdef XKB
if (request == MappingKeyboard || request == MappingModifier)
XkbApplyMappingChange(dev, request, firstKeyCode, count, client);
#endif
SendEventToAllWindows(dev, DeviceMappingNotifyMask, (xEvent *) ev, 1);
}
@ -992,7 +1001,7 @@ ChangeKeyMapping(ClientPtr client,
keysyms.map = map;
if (!SetKeySymsMap(&k->curKeySyms, &keysyms))
return BadAlloc;
SendDeviceMappingNotify(MappingKeyboard, firstKeyCode, keyCodes, dev);
SendDeviceMappingNotify(client, MappingKeyboard, firstKeyCode, keyCodes, dev);
return client->noClientException;
}

View File

@ -134,7 +134,7 @@ ProcXSetDeviceButtonMapping(ClientPtr client)
}
if (ret != MappingBusy)
SendDeviceMappingNotify(MappingPointer, 0, 0, dev);
SendDeviceMappingNotify(client, MappingPointer, 0, 0, dev);
return Success;
}

View File

@ -122,7 +122,7 @@ ProcXSetDeviceModifierMapping(ClientPtr client)
if (ret == MappingSuccess || ret == MappingBusy || ret == MappingFailed) {
rep.success = ret;
if (ret == MappingSuccess)
SendDeviceMappingNotify(MappingModifier, 0, 0, dev);
SendDeviceMappingNotify(client, MappingModifier, 0, 0, dev);
WriteReplyToClient(client, sizeof(xSetDeviceModifierMappingReply),
&rep);
} else {

View File

@ -1,2 +1,2 @@
#define MROP Mcopy
#include "./afbblt.c"
#include "../../afb/afbblt.c"

View File

@ -1,2 +1,2 @@
#define MROP McopyInverted
#include "./afbblt.c"
#include "../../afb/afbblt.c"

View File

@ -1,2 +1,2 @@
#define MROP 0
#include "./afbblt.c"
#include "../../afb/afbblt.c"

View File

@ -1,2 +1,2 @@
#define MROP Mor
#include "./afbblt.c"
#include "../../afb/afbblt.c"

View File

@ -1,2 +1,2 @@
#define MROP Mxor
#include "./afbblt.c"
#include "../../afb/afbblt.c"

View File

@ -1,2 +1,2 @@
#define POLYSEGMENT
#include "./afbline.c"
#include "../../afb/afbline.c"

View File

@ -1,2 +1,2 @@
#define MROP Mcopy
#include "./afbtile.c"
#include "../../afb/afbtile.c"

View File

@ -1,2 +1,2 @@
#define MROP 0
#include "./afbtile.c"
#include "../../afb/afbtile.c"

View File

@ -1,2 +1,2 @@
#define RROP GXcopy
#include "../cfb/cfb8line.c"
#include "../../cfb/cfb8line.c"

View File

@ -1,3 +1,3 @@
#define RROP GXcopy
#define PREVIOUS
#include "../cfb/cfb8line.c"
#include "../../cfb/cfb8line.c"

View File

@ -1,2 +1,2 @@
#define RROP GXset
#include "../cfb/cfb8line.c"
#include "../../cfb/cfb8line.c"

View File

@ -1,2 +1,2 @@
#define RROP GXxor
#include "../cfb/cfb8line.c"
#include "../../cfb/cfb8line.c"

View File

@ -1,3 +1,3 @@
#define RROP GXcopy
#define POLYSEGMENT
#include "../cfb/cfb8line.c"
#include "../../cfb/cfb8line.c"

View File

@ -1,4 +1,4 @@
#define RROP GXcopy
#define POLYSEGMENT
#define WIDTH_SHIFT
#include "../cfb/cfb8line.c"
#include "../../cfb/cfb8line.c"

View File

@ -1,3 +1,3 @@
#define RROP GXxor
#define POLYSEGMENT
#include "../cfb/cfb8line.c"
#include "../../cfb/cfb8line.c"

View File

@ -1,3 +1,3 @@
#define RROP GXset
#define POLYSEGMENT
#include "../cfb/cfb8line.c"
#include "../../cfb/cfb8line.c"

View File

@ -1,2 +1,2 @@
#define MROP Mcopy
#include "../cfb/cfbblt.c"
#include "../../cfb/cfbblt.c"

View File

@ -1,2 +1,2 @@
#define MROP 0
#include "../cfb/cfbblt.c"
#include "../../cfb/cfbblt.c"

View File

@ -1,2 +1,2 @@
#define MROP Mor
#include "../cfb/cfbblt.c"
#include "../../cfb/cfbblt.c"

View File

@ -1,2 +1,2 @@
#define MROP Mxor
#include "../cfb/cfbblt.c"
#include "../../cfb/cfbblt.c"

View File

@ -1,2 +1,2 @@
#define RROP GXcopy
#include "../cfb/cfbfillarc.c"
#include "../../cfb/cfbfillarc.c"

View File

@ -1,2 +1,2 @@
#define RROP GXset
#include "../cfb/cfbfillarc.c"
#include "../../cfb/cfbfillarc.c"

View File

@ -1,2 +1,2 @@
#define GLYPHROP
#include "../cfb/cfbglblt8.c"
#include "../../cfb/cfbglblt8.c"

View File

@ -1,2 +1,2 @@
#define RROP GXcopy
#include "../cfb/cfbply1rct.c"
#include "../../cfb/cfbply1rct.c"

View File

@ -1,2 +1,2 @@
#define RROP GXset
#include "../cfb/cfbply1rct.c"
#include "../../cfb/cfbply1rct.c"

View File

@ -1,2 +1,2 @@
#define POLYSEGMENT
#include "../cfb/cfbline.c"
#include "../../cfb/cfbline.c"

View File

@ -1,2 +1,2 @@
#define RROP GXcopy
#include "../cfb/cfbsolid.c"
#include "../../cfb/cfbsolid.c"

View File

@ -1,2 +1,2 @@
#define RROP GXset
#include "../cfb/cfbsolid.c"
#include "../../cfb/cfbsolid.c"

View File

@ -1,2 +1,2 @@
#define RROP GXxor
#include "../cfb/cfbsolid.c"
#include "../../cfb/cfbsolid.c"

View File

@ -1,2 +1,2 @@
#define MROP Mcopy
#include "../cfb/cfbtile32.c"
#include "../../cfb/cfbtile32.c"

View File

@ -1,2 +1,2 @@
#define MROP 0
#include "../cfb/cfbtile32.c"
#include "../../cfb/cfbtile32.c"

View File

@ -1,2 +1,2 @@
#define MROP Mcopy
#include "../cfb/cfbtileodd.c"
#include "../../cfb/cfbtileodd.c"

View File

@ -1,2 +1,2 @@
#define MROP 0
#include "../cfb/cfbtileodd.c"
#include "../../cfb/cfbtileodd.c"

View File

@ -1,2 +1,2 @@
#define RROP GXcopy
#include "../cfb/cfbzerarc.c"
#include "../../cfb/cfbzerarc.c"

View File

@ -1,2 +1,2 @@
#define RROP GXset
#include "../cfb/cfbzerarc.c"
#include "../../cfb/cfbzerarc.c"

View File

@ -1,2 +1,2 @@
#define RROP GXxor
#include "../cfb/cfbzerarc.c"
#include "../../cfb/cfbzerarc.c"

View File

@ -1,2 +1,2 @@
#define RROP GXcopy
#include "../cfb/cfb8line.c"
#include "../../cfb/cfb8line.c"

View File

@ -1,3 +1,3 @@
#define RROP GXcopy
#define PREVIOUS
#include "../cfb/cfb8line.c"
#include "../../cfb/cfb8line.c"

View File

@ -1,2 +1,2 @@
#define RROP GXset
#include "../cfb/cfb8line.c"
#include "../../cfb/cfb8line.c"

View File

@ -1,2 +1,2 @@
#define RROP GXxor
#include "../cfb/cfb8line.c"
#include "../../cfb/cfb8line.c"

View File

@ -1,3 +1,3 @@
#define RROP GXcopy
#define POLYSEGMENT
#include "../cfb/cfb8line.c"
#include "../../cfb/cfb8line.c"

View File

@ -1,4 +1,4 @@
#define RROP GXcopy
#define POLYSEGMENT
#define WIDTH_SHIFT
#include "../cfb/cfb8line.c"
#include "../../cfb/cfb8line.c"

View File

@ -1,3 +1,3 @@
#define RROP GXxor
#define POLYSEGMENT
#include "../cfb/cfb8line.c"
#include "../../cfb/cfb8line.c"

View File

@ -1,3 +1,3 @@
#define RROP GXset
#define POLYSEGMENT
#include "../cfb/cfb8line.c"
#include "../../cfb/cfb8line.c"

View File

@ -1,2 +1,2 @@
#define MROP Mcopy
#include "../cfb/cfbblt.c"
#include "../../cfb/cfbblt.c"

View File

@ -1,2 +1,2 @@
#define MROP 0
#include "../cfb/cfbblt.c"
#include "../../cfb/cfbblt.c"

View File

@ -1,2 +1,2 @@
#define MROP Mor
#include "../cfb/cfbblt.c"
#include "../../cfb/cfbblt.c"

View File

@ -1,2 +1,2 @@
#define MROP Mxor
#include "../cfb/cfbblt.c"
#include "../../cfb/cfbblt.c"

View File

@ -1,2 +1,2 @@
#define RROP GXcopy
#include "../cfb/cfbfillarc.c"
#include "../../cfb/cfbfillarc.c"

View File

@ -1,2 +1,2 @@
#define RROP GXset
#include "../cfb/cfbfillarc.c"
#include "../../cfb/cfbfillarc.c"

View File

@ -1,2 +1,2 @@
#define RROP GXcopy
#include "../cfb/cfbply1rct.c"
#include "../../cfb/cfbply1rct.c"

View File

@ -1,2 +1,2 @@
#define RROP GXset
#include "../cfb/cfbply1rct.c"
#include "../../cfb/cfbply1rct.c"

View File

@ -1,2 +1,2 @@
#define POLYSEGMENT
#include "../cfb/cfbline.c"
#include "../../cfb/cfbline.c"

View File

@ -1,2 +1,2 @@
#define RROP GXcopy
#include "../cfb/cfbsolid.c"
#include "../../cfb/cfbsolid.c"

View File

@ -1,2 +1,2 @@
#define RROP GXset
#include "../cfb/cfbsolid.c"
#include "../../cfb/cfbsolid.c"

View File

@ -1,2 +1,2 @@
#define RROP GXxor
#include "../cfb/cfbsolid.c"
#include "../../cfb/cfbsolid.c"

View File

@ -1,2 +1,2 @@
#define MROP Mcopy
#include "../cfb/cfbtile32.c"
#include "../../cfb/cfbtile32.c"

View File

@ -1,2 +1,2 @@
#define MROP 0
#include "../cfb/cfbtile32.c"
#include "../../cfb/cfbtile32.c"

View File

@ -1,2 +1,2 @@
#define MROP Mcopy
#include "../cfb/cfbtileodd.c"
#include "../../cfb/cfbtileodd.c"

View File

@ -1,2 +1,2 @@
#define MROP 0
#include "../cfb/cfbtileodd.c"
#include "../../cfb/cfbtileodd.c"

View File

@ -1,2 +1,2 @@
#define RROP GXcopy
#include "../cfb/cfbzerarc.c"
#include "../../cfb/cfbzerarc.c"

View File

@ -1,2 +1,2 @@
#define RROP GXset
#include "../cfb/cfbzerarc.c"
#include "../../cfb/cfbzerarc.c"

View File

@ -1,2 +1,2 @@
#define RROP GXxor
#include "../cfb/cfbzerarc.c"
#include "../../cfb/cfbzerarc.c"

View File

@ -674,6 +674,9 @@ CompositeExtensionInit (void)
ExtensionEntry *extEntry;
int s;
/* Assume initialization is going to fail */
noCompositeExtension = TRUE;
for (s = 0; s < screenInfo.numScreens; s++) {
ScreenPtr pScreen = screenInfo.screens[s];
VisualPtr vis;
@ -731,4 +734,7 @@ CompositeExtensionInit (void)
return;
miRegisterRedirectBorderClipProc (compSetRedirectBorderClip,
compGetRedirectBorderClip);
/* Initialization succeeded */
noCompositeExtension = FALSE;
}

View File

@ -87,7 +87,8 @@ teardown(void)
dbus_connection_unref(bus_info.connection);
RemoveBlockAndWakeupHandlers(block_handler, wakeup_handler, &bus_info);
RemoveGeneralSocket(bus_info.fd);
if (bus_info.fd != -1)
RemoveGeneralSocket(bus_info.fd);
bus_info.fd = -1;
bus_info.connection = NULL;

View File

@ -74,11 +74,12 @@ add_device(DBusMessage *message, DBusMessage *reply, DBusError *error)
int ret, err;
DeviceIntPtr dev = NULL;
dbus_message_iter_init_append(reply, &reply_iter);
if (!dbus_message_iter_init(message, &iter)) {
ErrorF("[config/dbus] couldn't initialise iterator\n");
return BadAlloc;
MALFORMED_MESSAGE();
}
dbus_message_iter_init_append(reply, &reply_iter);
options = xcalloc(sizeof(*options), 1);
if (!options) {
@ -138,7 +139,7 @@ add_device(DBusMessage *message, DBusMessage *reply, DBusError *error)
MALFORMED_MESSAGE();
options->value = xstrdup(tmp);
if (!options->value) {
ErrorF("[config] couldn't duplicate option!\n");
ErrorF("[config/dbus] couldn't duplicate option!\n");
ret = BadAlloc;
goto unwind;
}
@ -200,12 +201,13 @@ remove_device(DBusMessage *message, DBusMessage *reply, DBusError *error)
DeviceIntPtr dev;
DBusMessageIter iter, reply_iter;
if (!dbus_message_iter_init(message, &iter)) {
ErrorF("[config] failed to init iterator\n");
return BadAlloc;
}
dbus_message_iter_init_append(reply, &reply_iter);
if (!dbus_message_iter_init(message, &iter)) {
ErrorF("[config/dbus] failed to init iterator\n");
MALFORMED_MESSAGE();
}
if (!dbus_message_get_args(message, error, DBUS_TYPE_UINT32,
&deviceid, DBUS_TYPE_INVALID)) {
MALFORMED_MESSAGE_ERROR();
@ -213,12 +215,12 @@ remove_device(DBusMessage *message, DBusMessage *reply, DBusError *error)
dev = LookupDeviceIntRec(deviceid);
if (!dev) {
DebugF("[config] bogus device id %d given\n", deviceid);
DebugF("[config/dbus] bogus device id %d given\n", deviceid);
ret = BadMatch;
goto unwind;
}
DebugF("[config] removing device %s (id %d)\n", dev->name, deviceid);
DebugF("[config/dbus] removing device %s (id %d)\n", dev->name, deviceid);
/* Call PIE here so we don't try to dereference a device that's
* already been removed. */
@ -353,8 +355,8 @@ connect_hook(DBusConnection *connection, void *data)
dbus_error_init(&error);
if (!dbus_bus_request_name(info->connection, info->busname,
0, &error)) {
dbus_bus_request_name(info->connection, info->busname, 0, &error);
if (dbus_error_is_set(&error)) {
ErrorF("[config/dbus] couldn't take over org.x.config: %s (%s)\n",
error.name, error.message);
goto err_start;

View File

@ -134,10 +134,11 @@ get_prop_string_array(LibHalContext *hal_ctx, const char *udi, const char *prop)
str = ret;
for (i = 0; props[i]; i++) {
str = strcpy(str, props[i]);
strcpy(str, props[i]);
str += strlen(props[i]);
*str++ = ',';
}
*str = '\0';
*(str-1) = '\0';
libhal_free_string_array(props);
}
@ -177,7 +178,8 @@ device_added(LibHalContext *hal_ctx, const char *udi)
if (strcmp(props[i], "input.keys") == 0 ||
strcmp(props[i], "input.keyboard") == 0)
type |= TYPE_KEYS;
if (strcmp(props[i], "input.mouse") == 0)
if (strcmp(props[i], "input.mouse") == 0 ||
strcmp(props[i], "input.touchpad") == 0)
type |= TYPE_POINTER;
}
libhal_free_string_array(props);

View File

@ -1098,9 +1098,10 @@ EnqueueEvent(xEvent *xE, DeviceIntPtr device, int count)
#endif
sprite.hotPhys.x = XE_KBPTR.rootX;
sprite.hotPhys.y = XE_KBPTR.rootY;
/* do motion compression */
/* do motion compression, but not if from different devices */
if (tail &&
(tail->event->u.u.type == MotionNotify) &&
(tail->device == device) &&
(tail->pScreen == sprite.hotPhys.pScreen))
{
tail->event->u.keyButtonPointer.rootX = sprite.hotPhys.x;
@ -3095,7 +3096,7 @@ drawable.id:0;
#ifdef XKB
/* This function is used to set the key pressed or key released state -
this is only used when the pressing of keys does not cause
CoreProcessKeyEvent to be called, as in for example Mouse Keys.
the device's processInputProc to be called, as in for example Mouse Keys.
*/
void
FixKeyState (xEvent *xE, DeviceIntPtr keybd)
@ -3108,22 +3109,19 @@ FixKeyState (xEvent *xE, DeviceIntPtr keybd)
kptr = &keyc->down[key >> 3];
bit = 1 << (key & 7);
if (((xE->u.u.type==KeyPress)||(xE->u.u.type==KeyRelease))) {
if (((xE->u.u.type==KeyPress)||(xE->u.u.type==KeyRelease)||
(xE->u.u.type==DeviceKeyPress)||(xE->u.u.type==DeviceKeyRelease))
) {
DebugF("FixKeyState: Key %d %s\n",key,
(xE->u.u.type==KeyPress?"down":"up"));
(((xE->u.u.type==KeyPress)||(xE->u.u.type==DeviceKeyPress))?"down":"up"));
}
switch (xE->u.u.type)
{
case KeyPress:
if (xE->u.u.type == KeyPress || xE->u.u.type == DeviceKeyPress)
*kptr |= bit;
break;
case KeyRelease:
else if (xE->u.u.type == KeyRelease || xE->u.u.type == DeviceKeyRelease)
*kptr &= ~bit;
break;
default:
FatalError("Impossible keyboard event");
}
else
FatalError("Impossible keyboard event");
}
#endif

View File

@ -95,7 +95,14 @@ set_key_up(DeviceIntPtr pDev, int key_code)
static Bool
key_is_down(DeviceIntPtr pDev, int key_code)
{
return pDev->key->postdown[key_code >> 3] >> (key_code & 7);
return !!(pDev->key->postdown[key_code >> 3] & (1 << (key_code & 7)));
}
static Bool
key_autorepeats(DeviceIntPtr pDev, int key_code)
{
return !!(pDev->kbdfeed->ctrl.autoRepeats[key_code >> 3] &
(1 << (key_code & 7)));
}
/**
@ -402,6 +409,7 @@ GetKeyboardValuatorEvents(xEvent *events, DeviceIntPtr pDev, int type,
if (!events)
return 0;
/* DO NOT WANT */
if (type != KeyPress && type != KeyRelease)
return 0;
@ -409,6 +417,9 @@ GetKeyboardValuatorEvents(xEvent *events, DeviceIntPtr pDev, int type,
(pDev->coreEvents && !inputInfo.keyboard->key))
return 0;
if (key_code < 8 || key_code > 255)
return 0;
if (pDev->coreEvents)
numEvents = 2;
else
@ -440,10 +451,11 @@ GetKeyboardValuatorEvents(xEvent *events, DeviceIntPtr pDev, int type,
* FIXME: In theory, if you're repeating with two keyboards in non-XKB,
* you could get unbalanced events here. */
if (type == KeyPress && key_is_down(pDev, key_code)) {
/* If autorepeating is disabled either globally or just for that key,
* or we have a modifier, don't generate a repeat event. */
if (!pDev->kbdfeed->ctrl.autoRepeat ||
pDev->key->modifierMap[key_code] ||
!(pDev->kbdfeed->ctrl.autoRepeats[key_code >> 3]
& (1 << (key_code & 7))))
!key_autorepeats(pDev, key_code) ||
pDev->key->modifierMap[key_code])
return 0;
#ifdef XKB
@ -693,7 +705,7 @@ _X_EXPORT int
GetProximityEvents(xEvent *events, DeviceIntPtr pDev, int type,
int first_valuator, int num_valuators, int *valuators)
{
int num_events = 0;
int num_events = 1;
deviceKeyButtonPointer *kbp = (deviceKeyButtonPointer *) events;
/* Sanity checks. */

View File

@ -1187,7 +1187,8 @@ exaFillRegionTiled (DrawablePtr pDrawable,
int dstY = pBox->y1;
int tileY;
tileY = (dstY - pDrawable->y - pPatOrg->y) % tileHeight;
modulus(dstY - pDrawable->y - pPatOrg->y, tileHeight, tileY);
while (height > 0) {
int width = pBox->x2 - pBox->x1;
int dstX = pBox->x1;
@ -1198,7 +1199,8 @@ exaFillRegionTiled (DrawablePtr pDrawable,
h = height;
height -= h;
tileX = (dstX - pDrawable->x - pPatOrg->x) % tileWidth;
modulus(dstX - pDrawable->x - pPatOrg->x, tileWidth, tileX);
while (width > 0) {
int w = tileWidth - tileX;
if (w > width)
@ -1223,7 +1225,8 @@ exaFillRegionTiled (DrawablePtr pDrawable,
}
fallback:
if (alu != GXcopy || planemask != FB_ALLONES)
if (alu != GXcopy || planemask != FB_ALLONES || pPatOrg->x != 0 ||
pPatOrg->y != 0)
return FALSE;
EXA_FALLBACK(("from %p to %p (%c,%c)\n", pTile, pDrawable,
exaDrawableLocation(&pTile->drawable),

View File

@ -319,6 +319,10 @@ exaMoveInPixmap (PixmapPtr pPixmap)
if (pPixmap->drawable.bitsPerPixel < 8)
return;
if (pPixmap->drawable.width > pExaScr->info->maxX ||
pPixmap->drawable.height > pExaScr->info->maxY)
return;
if (pExaPixmap->area == NULL) {
pExaPixmap->area =
exaOffscreenAlloc (pScreen, pExaPixmap->fb_size,

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,9 @@
/* A Bison parser, made from /home/anholt/xserver-stable/hw/dmx/config/parser.y, by GNU bison 1.75. */
/* A Bison parser, made by GNU Bison 2.3. */
/* Skeleton parser for Yacc-like parsing with Bison,
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc.
/* Skeleton interface for Bison's Yacc-like parsers in C
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -15,16 +17,21 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
/* As a special exception, when this file is copied by Bison into a
Bison output file, you may use that output file without restriction.
This special exception was added by the Free Software Foundation
in version 1.24 of Bison. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
under terms of your choice, so long as that work isn't itself a
parser generator using the skeleton or a modified version thereof
as a parser skeleton. Alternatively, if you modify or redistribute
the parser skeleton itself, you may (at your option) remove this
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
#ifndef BISON_PARSER_H
# define BISON_PARSER_H
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
/* Tokens. */
#ifndef YYTOKENTYPE
@ -45,6 +52,7 @@
T_LINE_COMMENT = 268
};
#endif
/* Tokens. */
#define T_VIRTUAL 258
#define T_DISPLAY 259
#define T_WALL 260
@ -60,9 +68,10 @@
#ifndef YYSTYPE
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
#line 56 "parser.y"
typedef union {
{
DMXConfigTokenPtr token;
DMXConfigStringPtr string;
DMXConfigNumberPtr number;
@ -77,14 +86,14 @@ typedef union {
DMXConfigSubPtr subentry;
DMXConfigVirtualPtr virtual;
DMXConfigEntryPtr entry;
} yystype;
/* Line 1237 of /usr/local/share/bison/yacc.c. */
#line 83 "parser.h"
# define YYSTYPE yystype
}
/* Line 1489 of yacc.c. */
#line 92 "parser.h"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
#endif
extern YYSTYPE yylval;
#endif /* not BISON_PARSER_H */

File diff suppressed because it is too large Load Diff

View File

@ -47,6 +47,9 @@ InitCard (char *name)
void
InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv)
{
#ifdef GLXEXT
noGlxExtension=TRUE;
#endif
KdInitOutput (pScreenInfo, argc, argv);
}

View File

@ -152,8 +152,6 @@ MiscExtGetMouseSettings(pointer *mouse, char **devname)
{
mseParamsPtr mseptr;
DEBUG_P("MiscExtGetMouseSettings");
mseptr = MiscExtCreateStruct(MISC_POINTER);
if (!mseptr)
return FALSE;
@ -184,8 +182,6 @@ MiscExtGetMouseValue(pointer mouse, MiscExtMseValType valtype)
{
mseParamsPtr mse = mouse;
DEBUG_P("MiscExtGetMouseValue");
switch (valtype) {
case MISC_MSE_PROTO: return mse->type;
case MISC_MSE_BAUDRATE: return mse->baudrate;
@ -205,8 +201,6 @@ MiscExtSetMouseValue(pointer mouse, MiscExtMseValType valtype, int value)
{
mseParamsPtr mse = mouse;
DEBUG_P("MiscExtSetMouseValue");
switch (valtype) {
case MISC_MSE_PROTO:
mse->type = value;
@ -251,8 +245,6 @@ MiscExtSetMouseDevice(pointer mouse, char* device)
_X_EXPORT Bool
MiscExtGetKbdSettings(pointer *kbd)
{
DEBUG_P("MiscExtGetKbdSettings");
return FALSE;
}
@ -290,8 +282,6 @@ MiscExtClientStateCallback(CallbackListPtr *callbacks,
_X_EXPORT int
MiscExtSetGrabKeysState(ClientPtr client, int state)
{
DEBUG_P("MiscExtSetGrabKeysState");
if (xf86Info.grabInfo.override == NULL ||
xf86Info.grabInfo.override == client) {
if (state == 0 && xf86Info.grabInfo.disabled == 0) {
@ -318,8 +308,6 @@ MiscExtSetGrabKeysState(ClientPtr client, int state)
_X_EXPORT pointer
MiscExtCreateStruct(MiscExtStructType mse_or_kbd)
{
DEBUG_P("MiscExtCreateStruct");
switch (mse_or_kbd) {
case MISC_POINTER:
{
@ -348,8 +336,6 @@ MiscExtCreateStruct(MiscExtStructType mse_or_kbd)
_X_EXPORT void
MiscExtDestroyStruct(pointer structure, MiscExtStructType mse_or_kbd)
{
DEBUG_P("MiscExtDestroyStruct");
switch (mse_or_kbd) {
case MISC_POINTER:
case MISC_KEYBOARD:
@ -410,8 +396,6 @@ MiscExtAuthorizeDevice(InputInfoPtr pInfo, char *device)
_X_EXPORT MiscExtReturn
MiscExtApply(pointer structure, MiscExtStructType mse_or_kbd)
{
DEBUG_P("MiscExtApply");
if (mse_or_kbd == MISC_POINTER) {
Bool protoChanged = FALSE;
int oldflags;
@ -551,8 +535,6 @@ _X_EXPORT Bool
MiscExtGetFilePaths(const char **configfile, const char **modulepath,
const char **logfile)
{
DEBUG_P("MiscExtGetFilePaths");
*configfile = xf86ConfigFile;
*modulepath = xf86ModulePath;
*logfile = xf86LogFile;
@ -566,8 +548,6 @@ MiscExtPassMessage(int scrnIndex, const char *msgtype, const char *msgval,
{
ScrnInfoPtr pScr = xf86Screens[scrnIndex];
DEBUG_P("MiscExtPassMessage");
if (*pScr->HandleMessage == NULL)
return BadImplementation;
return (*pScr->HandleMessage)(scrnIndex, msgtype, msgval, retstr);

View File

@ -68,8 +68,6 @@ VidModeExtensionInit(ScreenPtr pScreen)
#ifdef XF86VIDMODE
VidModePtr pVidMode;
DEBUG_P("VidModeExtensionInit");
if (!xf86GetVidModeEnabled()) {
DEBUG_P("!xf86GetVidModeEnabled()");
return FALSE;
@ -109,8 +107,6 @@ VidModeClose(int i, ScreenPtr pScreen)
{
VidModePtr pVidMode = VMPTR(pScreen);
DEBUG_P("VidModeClose");
/* This shouldn't happen */
if (!pVidMode)
return FALSE;
@ -132,8 +128,6 @@ VidModeAvailable(int scrnIndex)
ScrnInfoPtr pScrn;
VidModePtr pVidMode;
DEBUG_P("VidModeAvailable");
if (VidModeIndex < 0) {
DEBUG_P("VidModeIndex < 0");
return FALSE;
@ -159,8 +153,6 @@ VidModeGetCurrentModeline(int scrnIndex, pointer *mode, int *dotClock)
{
ScrnInfoPtr pScrn;
DEBUG_P("VidModeGetCurrentModeline");
if (!VidModeAvailable(scrnIndex))
return FALSE;
@ -176,8 +168,6 @@ VidModeGetDotClock(int scrnIndex, int Clock)
{
ScrnInfoPtr pScrn;
DEBUG_P("VidModeGetDotClock");
if (!VidModeAvailable(scrnIndex))
return 0;
@ -193,8 +183,6 @@ VidModeGetNumOfClocks(int scrnIndex, Bool *progClock)
{
ScrnInfoPtr pScrn;
DEBUG_P("VidModeGetNumOfClocks");
if (!VidModeAvailable(scrnIndex))
return 0;
@ -214,8 +202,6 @@ VidModeGetClocks(int scrnIndex, int *Clocks)
ScrnInfoPtr pScrn;
int i;
DEBUG_P("VidModeGetClocks");
if (!VidModeAvailable(scrnIndex))
return FALSE;
@ -237,8 +223,6 @@ VidModeGetFirstModeline(int scrnIndex, pointer *mode, int *dotClock)
ScrnInfoPtr pScrn;
VidModePtr pVidMode;
DEBUG_P("VidModeGetFirstModeline");
if (!VidModeAvailable(scrnIndex))
return FALSE;
@ -263,8 +247,6 @@ VidModeGetNextModeline(int scrnIndex, pointer *mode, int *dotClock)
VidModePtr pVidMode;
DisplayModePtr p;
DEBUG_P("VidModeGetNextModeline");
if (!VidModeAvailable(scrnIndex))
return FALSE;
@ -288,8 +270,6 @@ VidModeDeleteModeline(int scrnIndex, pointer mode)
{
ScrnInfoPtr pScrn;
DEBUG_P("VidModeDeleteModeline");
if ((mode == NULL) || (!VidModeAvailable(scrnIndex)))
return FALSE;
@ -303,8 +283,6 @@ VidModeZoomViewport(int scrnIndex, int zoom)
{
ScrnInfoPtr pScrn;
DEBUG_P("VidModeZoomViewPort");
if (!VidModeAvailable(scrnIndex))
return FALSE;
@ -318,8 +296,6 @@ VidModeSetViewPort(int scrnIndex, int x, int y)
{
ScrnInfoPtr pScrn;
DEBUG_P("VidModeSetViewPort");
if (!VidModeAvailable(scrnIndex))
return FALSE;
@ -341,8 +317,6 @@ VidModeGetViewPort(int scrnIndex, int *x, int *y)
{
ScrnInfoPtr pScrn;
DEBUG_P("VidModeGetViewPort");
if (!VidModeAvailable(scrnIndex))
return FALSE;
@ -359,8 +333,6 @@ VidModeSwitchMode(int scrnIndex, pointer mode)
DisplayModePtr pTmpMode;
Bool retval;
DEBUG_P("VidModeSwitchMode");
if (!VidModeAvailable(scrnIndex))
return FALSE;
@ -381,8 +353,6 @@ VidModeLockZoom(int scrnIndex, Bool lock)
{
ScrnInfoPtr pScrn;
DEBUG_P("VidModeLockZoom");
if (!VidModeAvailable(scrnIndex))
return FALSE;
@ -400,8 +370,6 @@ VidModeGetMonitor(int scrnIndex, pointer *monitor)
{
ScrnInfoPtr pScrn;
DEBUG_P("VidModeGetMonitor");
if (!VidModeAvailable(scrnIndex))
return FALSE;
@ -416,8 +384,6 @@ VidModeCheckModeForMonitor(int scrnIndex, pointer mode)
{
ScrnInfoPtr pScrn;
DEBUG_P("VidModeCheckModeForMonitor");
if ((mode == NULL) || (!VidModeAvailable(scrnIndex)))
return MODE_ERROR;
@ -431,8 +397,6 @@ VidModeCheckModeForDriver(int scrnIndex, pointer mode)
{
ScrnInfoPtr pScrn;
DEBUG_P("VidModeCheckModeForDriver");
if ((mode == NULL) || (!VidModeAvailable(scrnIndex)))
return MODE_ERROR;
@ -447,8 +411,6 @@ VidModeSetCrtcForMode(int scrnIndex, pointer mode)
ScrnInfoPtr pScrn;
DisplayModePtr ScreenModes;
DEBUG_P("VidModeSetCrtcForMode");
if ((mode == NULL) || (!VidModeAvailable(scrnIndex)))
return;
@ -467,8 +429,6 @@ VidModeAddModeline(int scrnIndex, pointer mode)
{
ScrnInfoPtr pScrn;
DEBUG_P("VidModeAddModeline");
if ((mode == NULL) || (!VidModeAvailable(scrnIndex)))
return FALSE;
@ -491,8 +451,6 @@ VidModeGetNumOfModes(int scrnIndex)
pointer mode = NULL;
int dotClock= 0, nummodes = 0;
DEBUG_P("VidModeGetNumOfModes");
if (!VidModeGetFirstModeline(scrnIndex, &mode, &dotClock))
return nummodes;
@ -509,8 +467,6 @@ VidModeSetGamma(int scrnIndex, float red, float green, float blue)
ScrnInfoPtr pScrn;
Gamma gamma;
DEBUG_P("VidModeSetGamma");
if (!VidModeAvailable(scrnIndex))
return FALSE;
@ -529,8 +485,6 @@ VidModeGetGamma(int scrnIndex, float *red, float *green, float *blue)
{
ScrnInfoPtr pScrn;
DEBUG_P("VidModeGetGamma");
if (!VidModeAvailable(scrnIndex))
return FALSE;

View File

@ -11,6 +11,14 @@ if XV
XV_SRCS = xvmod.c xvmodproc.h
endif
if XF86MISC
XF86MISC_SRCS = xf86misc.c xf86miscproc.h
endif
if XF86VIDMODE
XF86VMODE_SRCS = xf86vmode.c vidmodeproc.h
endif
AM_CFLAGS = @DIX_CFLAGS@ @XORG_CFLAGS@
INCLUDES = @XORG_INCS@ \
-I$(top_srcdir)/afb \
@ -24,9 +32,7 @@ libextmod_la_LDFLAGS = -avoid-version
libextmod_la_SOURCES = modinit.c \
modinit.h \
$(DGA_SRCS) \
xf86misc.c \
xf86miscproc.h \
xf86vmode.c \
vidmodeproc.h \
$(XF86MISC_SRCS) \
$(XF86VMODE_SRCS) \
$(XV_SRCS)
libextmod_la_LIBADD = $(top_builddir)/Xext/libXextmodule.la

View File

@ -48,6 +48,8 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
int
XkbDDXTerminateServer(DeviceIntPtr dev,KeyCode key,XkbAction *act)
{
xf86ProcessActionEvent(ACTION_TERMINATE, NULL);
if (dev != inputInfo.keyboard)
xf86ProcessActionEvent(ACTION_TERMINATE, NULL);
return 0;
}

View File

@ -345,7 +345,7 @@ xf86RandR12ScreenSetSize (ScreenPtr pScreen,
randrp->virtualX = pScrn->virtualX;
randrp->virtualY = pScrn->virtualY;
}
if (pRoot)
if (pRoot && pScrn->vtSema)
(*pScrn->EnableDisableFBAccess) (pScreen->myNum, FALSE);
/* Let the driver update virtualX and virtualY */
@ -363,7 +363,7 @@ xf86RandR12ScreenSetSize (ScreenPtr pScreen,
xf86SetViewport (pScreen, 0, 0);
finish:
if (pRoot)
if (pRoot && pScrn->vtSema)
(*pScrn->EnableDisableFBAccess) (pScreen->myNum, TRUE);
#if RANDR_12_INTERFACE
if (WindowTable[pScreen->myNum] && ret)
@ -426,8 +426,18 @@ xf86RandR12CreateScreenResources (ScreenPtr pScreen)
xf86OutputPtr output = config->output[config->compat_output];
xf86CrtcPtr crtc = output->crtc;
if (crtc && crtc->mode.HDisplay &&
output->mm_width && output->mm_height)
if (output->conf_monitor &&
(output->conf_monitor->mon_width > 0 &&
output->conf_monitor->mon_height > 0))
{
/*
* Prefer user configured DisplaySize
*/
mmWidth = output->conf_monitor->mon_width;
mmHeight = output->conf_monitor->mon_height;
}
else if (crtc && crtc->mode.HDisplay &&
output->mm_width && output->mm_height)
{
/*
* If the output has a mode and a declared size, use that

View File

@ -1,2 +1,2 @@
#define XAAReverseBitOrder xf86ReverseBitOrder
#include "./../xaa/xaaBitOrder.c"
#include "../../../../hw/xfree86/ramdac/../xaa/xaaBitOrder.c"

View File

@ -1,2 +1,2 @@
#define PCIDATA
#include "./xf86ScanPci.c"
#include "../../../../hw/xfree86/scanpci/xf86ScanPci.c"

View File

@ -1,2 +1,2 @@
#define LSBFIRST
#include "./xaaBitmap.c"
#include "../../../../hw/xfree86/xaa/xaaBitmap.c"

View File

@ -1,2 +1,2 @@
#define LSBFIRST
#include "./xaaStipple.c"
#include "../../../../hw/xfree86/xaa/xaaStipple.c"

View File

@ -1,2 +1,2 @@
#define LSBFIRST
#include "./xaaTEGlyph.c"
#include "../../../../hw/xfree86/xaa/xaaTEGlyph.c"

View File

@ -1,3 +1,3 @@
#define LSBFIRST
#define TRIPLE_BITS
#include "./xaaBitmap.c"
#include "../../../../hw/xfree86/xaa/xaaBitmap.c"

View File

@ -1,3 +1,3 @@
#define LSBFIRST
#define TRIPLE_BITS
#include "./xaaStipple.c"
#include "../../../../hw/xfree86/xaa/xaaStipple.c"

View File

@ -1,3 +1,3 @@
#define LSBFIRST
#define FIXEDBASE
#include "./xaaBitmap.c"
#include "../../../../hw/xfree86/xaa/xaaBitmap.c"

View File

@ -1,3 +1,3 @@
#define LSBFIRST
#define FIXEDBASE
#include "./xaaStipple.c"
#include "../../../../hw/xfree86/xaa/xaaStipple.c"

View File

@ -1,3 +1,3 @@
#define LSBFIRST
#define FIXEDBASE
#include "./xaaTEGlyph.c"
#include "../../../../hw/xfree86/xaa/xaaTEGlyph.c"

View File

@ -1,4 +1,4 @@
#define LSBFIRST
#define TRIPLE_BITS
#define FIXEDBASE
#include "./xaaBitmap.c"
#include "../../../../hw/xfree86/xaa/xaaBitmap.c"

View File

@ -1,4 +1,4 @@
#define LSBFIRST
#define TRIPLE_BITS
#define FIXEDBASE
#include "./xaaStipple.c"
#include "../../../../hw/xfree86/xaa/xaaStipple.c"

View File

@ -1,2 +1,2 @@
#define MSBFIRST
#include "./xaaBitmap.c"
#include "../../../../hw/xfree86/xaa/xaaBitmap.c"

View File

@ -1,2 +1,2 @@
#define MSBFIRST
#include "./xaaStipple.c"
#include "../../../../hw/xfree86/xaa/xaaStipple.c"

View File

@ -1,2 +1,2 @@
#define MSBFIRST
#include "./xaaTEGlyph.c"
#include "../../../../hw/xfree86/xaa/xaaTEGlyph.c"

Some files were not shown because too many files have changed in this diff Show More