xserver 1.4.0.90
This commit is contained in:
parent
2a2c29e078
commit
2fcd9ee667
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -134,7 +134,7 @@ ProcXSetDeviceButtonMapping(ClientPtr client)
|
||||
}
|
||||
|
||||
if (ret != MappingBusy)
|
||||
SendDeviceMappingNotify(MappingPointer, 0, 0, dev);
|
||||
SendDeviceMappingNotify(client, MappingPointer, 0, 0, dev);
|
||||
return Success;
|
||||
}
|
||||
|
||||
|
@ -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 {
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MROP Mcopy
|
||||
#include "./afbblt.c"
|
||||
#include "../../afb/afbblt.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MROP McopyInverted
|
||||
#include "./afbblt.c"
|
||||
#include "../../afb/afbblt.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MROP 0
|
||||
#include "./afbblt.c"
|
||||
#include "../../afb/afbblt.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MROP Mor
|
||||
#include "./afbblt.c"
|
||||
#include "../../afb/afbblt.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MROP Mxor
|
||||
#include "./afbblt.c"
|
||||
#include "../../afb/afbblt.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define POLYSEGMENT
|
||||
#include "./afbline.c"
|
||||
#include "../../afb/afbline.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MROP Mcopy
|
||||
#include "./afbtile.c"
|
||||
#include "../../afb/afbtile.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MROP 0
|
||||
#include "./afbtile.c"
|
||||
#include "../../afb/afbtile.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXcopy
|
||||
#include "../cfb/cfb8line.c"
|
||||
#include "../../cfb/cfb8line.c"
|
||||
|
@ -1,3 +1,3 @@
|
||||
#define RROP GXcopy
|
||||
#define PREVIOUS
|
||||
#include "../cfb/cfb8line.c"
|
||||
#include "../../cfb/cfb8line.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXset
|
||||
#include "../cfb/cfb8line.c"
|
||||
#include "../../cfb/cfb8line.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXxor
|
||||
#include "../cfb/cfb8line.c"
|
||||
#include "../../cfb/cfb8line.c"
|
||||
|
@ -1,3 +1,3 @@
|
||||
#define RROP GXcopy
|
||||
#define POLYSEGMENT
|
||||
#include "../cfb/cfb8line.c"
|
||||
#include "../../cfb/cfb8line.c"
|
||||
|
@ -1,4 +1,4 @@
|
||||
#define RROP GXcopy
|
||||
#define POLYSEGMENT
|
||||
#define WIDTH_SHIFT
|
||||
#include "../cfb/cfb8line.c"
|
||||
#include "../../cfb/cfb8line.c"
|
||||
|
@ -1,3 +1,3 @@
|
||||
#define RROP GXxor
|
||||
#define POLYSEGMENT
|
||||
#include "../cfb/cfb8line.c"
|
||||
#include "../../cfb/cfb8line.c"
|
||||
|
@ -1,3 +1,3 @@
|
||||
#define RROP GXset
|
||||
#define POLYSEGMENT
|
||||
#include "../cfb/cfb8line.c"
|
||||
#include "../../cfb/cfb8line.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MROP Mcopy
|
||||
#include "../cfb/cfbblt.c"
|
||||
#include "../../cfb/cfbblt.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MROP 0
|
||||
#include "../cfb/cfbblt.c"
|
||||
#include "../../cfb/cfbblt.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MROP Mor
|
||||
#include "../cfb/cfbblt.c"
|
||||
#include "../../cfb/cfbblt.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MROP Mxor
|
||||
#include "../cfb/cfbblt.c"
|
||||
#include "../../cfb/cfbblt.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXcopy
|
||||
#include "../cfb/cfbfillarc.c"
|
||||
#include "../../cfb/cfbfillarc.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXset
|
||||
#include "../cfb/cfbfillarc.c"
|
||||
#include "../../cfb/cfbfillarc.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define GLYPHROP
|
||||
#include "../cfb/cfbglblt8.c"
|
||||
#include "../../cfb/cfbglblt8.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXcopy
|
||||
#include "../cfb/cfbply1rct.c"
|
||||
#include "../../cfb/cfbply1rct.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXset
|
||||
#include "../cfb/cfbply1rct.c"
|
||||
#include "../../cfb/cfbply1rct.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define POLYSEGMENT
|
||||
#include "../cfb/cfbline.c"
|
||||
#include "../../cfb/cfbline.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXcopy
|
||||
#include "../cfb/cfbsolid.c"
|
||||
#include "../../cfb/cfbsolid.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXset
|
||||
#include "../cfb/cfbsolid.c"
|
||||
#include "../../cfb/cfbsolid.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXxor
|
||||
#include "../cfb/cfbsolid.c"
|
||||
#include "../../cfb/cfbsolid.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MROP Mcopy
|
||||
#include "../cfb/cfbtile32.c"
|
||||
#include "../../cfb/cfbtile32.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MROP 0
|
||||
#include "../cfb/cfbtile32.c"
|
||||
#include "../../cfb/cfbtile32.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MROP Mcopy
|
||||
#include "../cfb/cfbtileodd.c"
|
||||
#include "../../cfb/cfbtileodd.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MROP 0
|
||||
#include "../cfb/cfbtileodd.c"
|
||||
#include "../../cfb/cfbtileodd.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXcopy
|
||||
#include "../cfb/cfbzerarc.c"
|
||||
#include "../../cfb/cfbzerarc.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXset
|
||||
#include "../cfb/cfbzerarc.c"
|
||||
#include "../../cfb/cfbzerarc.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXxor
|
||||
#include "../cfb/cfbzerarc.c"
|
||||
#include "../../cfb/cfbzerarc.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXcopy
|
||||
#include "../cfb/cfb8line.c"
|
||||
#include "../../cfb/cfb8line.c"
|
||||
|
@ -1,3 +1,3 @@
|
||||
#define RROP GXcopy
|
||||
#define PREVIOUS
|
||||
#include "../cfb/cfb8line.c"
|
||||
#include "../../cfb/cfb8line.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXset
|
||||
#include "../cfb/cfb8line.c"
|
||||
#include "../../cfb/cfb8line.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXxor
|
||||
#include "../cfb/cfb8line.c"
|
||||
#include "../../cfb/cfb8line.c"
|
||||
|
@ -1,3 +1,3 @@
|
||||
#define RROP GXcopy
|
||||
#define POLYSEGMENT
|
||||
#include "../cfb/cfb8line.c"
|
||||
#include "../../cfb/cfb8line.c"
|
||||
|
@ -1,4 +1,4 @@
|
||||
#define RROP GXcopy
|
||||
#define POLYSEGMENT
|
||||
#define WIDTH_SHIFT
|
||||
#include "../cfb/cfb8line.c"
|
||||
#include "../../cfb/cfb8line.c"
|
||||
|
@ -1,3 +1,3 @@
|
||||
#define RROP GXxor
|
||||
#define POLYSEGMENT
|
||||
#include "../cfb/cfb8line.c"
|
||||
#include "../../cfb/cfb8line.c"
|
||||
|
@ -1,3 +1,3 @@
|
||||
#define RROP GXset
|
||||
#define POLYSEGMENT
|
||||
#include "../cfb/cfb8line.c"
|
||||
#include "../../cfb/cfb8line.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MROP Mcopy
|
||||
#include "../cfb/cfbblt.c"
|
||||
#include "../../cfb/cfbblt.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MROP 0
|
||||
#include "../cfb/cfbblt.c"
|
||||
#include "../../cfb/cfbblt.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MROP Mor
|
||||
#include "../cfb/cfbblt.c"
|
||||
#include "../../cfb/cfbblt.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MROP Mxor
|
||||
#include "../cfb/cfbblt.c"
|
||||
#include "../../cfb/cfbblt.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXcopy
|
||||
#include "../cfb/cfbfillarc.c"
|
||||
#include "../../cfb/cfbfillarc.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXset
|
||||
#include "../cfb/cfbfillarc.c"
|
||||
#include "../../cfb/cfbfillarc.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXcopy
|
||||
#include "../cfb/cfbply1rct.c"
|
||||
#include "../../cfb/cfbply1rct.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXset
|
||||
#include "../cfb/cfbply1rct.c"
|
||||
#include "../../cfb/cfbply1rct.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define POLYSEGMENT
|
||||
#include "../cfb/cfbline.c"
|
||||
#include "../../cfb/cfbline.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXcopy
|
||||
#include "../cfb/cfbsolid.c"
|
||||
#include "../../cfb/cfbsolid.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXset
|
||||
#include "../cfb/cfbsolid.c"
|
||||
#include "../../cfb/cfbsolid.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXxor
|
||||
#include "../cfb/cfbsolid.c"
|
||||
#include "../../cfb/cfbsolid.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MROP Mcopy
|
||||
#include "../cfb/cfbtile32.c"
|
||||
#include "../../cfb/cfbtile32.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MROP 0
|
||||
#include "../cfb/cfbtile32.c"
|
||||
#include "../../cfb/cfbtile32.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MROP Mcopy
|
||||
#include "../cfb/cfbtileodd.c"
|
||||
#include "../../cfb/cfbtileodd.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MROP 0
|
||||
#include "../cfb/cfbtileodd.c"
|
||||
#include "../../cfb/cfbtileodd.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXcopy
|
||||
#include "../cfb/cfbzerarc.c"
|
||||
#include "../../cfb/cfbzerarc.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXset
|
||||
#include "../cfb/cfbzerarc.c"
|
||||
#include "../../cfb/cfbzerarc.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define RROP GXxor
|
||||
#include "../cfb/cfbzerarc.c"
|
||||
#include "../../cfb/cfbzerarc.c"
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
||||
|
@ -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. */
|
||||
|
@ -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),
|
||||
|
@ -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
@ -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
@ -47,6 +47,9 @@ InitCard (char *name)
|
||||
void
|
||||
InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv)
|
||||
{
|
||||
#ifdef GLXEXT
|
||||
noGlxExtension=TRUE;
|
||||
#endif
|
||||
KdInitOutput (pScreenInfo, argc, argv);
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define XAAReverseBitOrder xf86ReverseBitOrder
|
||||
#include "./../xaa/xaaBitOrder.c"
|
||||
#include "../../../../hw/xfree86/ramdac/../xaa/xaaBitOrder.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define PCIDATA
|
||||
#include "./xf86ScanPci.c"
|
||||
#include "../../../../hw/xfree86/scanpci/xf86ScanPci.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define LSBFIRST
|
||||
#include "./xaaBitmap.c"
|
||||
#include "../../../../hw/xfree86/xaa/xaaBitmap.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define LSBFIRST
|
||||
#include "./xaaStipple.c"
|
||||
#include "../../../../hw/xfree86/xaa/xaaStipple.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define LSBFIRST
|
||||
#include "./xaaTEGlyph.c"
|
||||
#include "../../../../hw/xfree86/xaa/xaaTEGlyph.c"
|
||||
|
@ -1,3 +1,3 @@
|
||||
#define LSBFIRST
|
||||
#define TRIPLE_BITS
|
||||
#include "./xaaBitmap.c"
|
||||
#include "../../../../hw/xfree86/xaa/xaaBitmap.c"
|
||||
|
@ -1,3 +1,3 @@
|
||||
#define LSBFIRST
|
||||
#define TRIPLE_BITS
|
||||
#include "./xaaStipple.c"
|
||||
#include "../../../../hw/xfree86/xaa/xaaStipple.c"
|
||||
|
@ -1,3 +1,3 @@
|
||||
#define LSBFIRST
|
||||
#define FIXEDBASE
|
||||
#include "./xaaBitmap.c"
|
||||
#include "../../../../hw/xfree86/xaa/xaaBitmap.c"
|
||||
|
@ -1,3 +1,3 @@
|
||||
#define LSBFIRST
|
||||
#define FIXEDBASE
|
||||
#include "./xaaStipple.c"
|
||||
#include "../../../../hw/xfree86/xaa/xaaStipple.c"
|
||||
|
@ -1,3 +1,3 @@
|
||||
#define LSBFIRST
|
||||
#define FIXEDBASE
|
||||
#include "./xaaTEGlyph.c"
|
||||
#include "../../../../hw/xfree86/xaa/xaaTEGlyph.c"
|
||||
|
@ -1,4 +1,4 @@
|
||||
#define LSBFIRST
|
||||
#define TRIPLE_BITS
|
||||
#define FIXEDBASE
|
||||
#include "./xaaBitmap.c"
|
||||
#include "../../../../hw/xfree86/xaa/xaaBitmap.c"
|
||||
|
@ -1,4 +1,4 @@
|
||||
#define LSBFIRST
|
||||
#define TRIPLE_BITS
|
||||
#define FIXEDBASE
|
||||
#include "./xaaStipple.c"
|
||||
#include "../../../../hw/xfree86/xaa/xaaStipple.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MSBFIRST
|
||||
#include "./xaaBitmap.c"
|
||||
#include "../../../../hw/xfree86/xaa/xaaBitmap.c"
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define MSBFIRST
|
||||
#include "./xaaStipple.c"
|
||||
#include "../../../../hw/xfree86/xaa/xaaStipple.c"
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user