c859b736d1 removed duplicate entries for
these from the Makefile, but removed a different set than was done in
master branch, causing xf86Parser.h to not be installed, which in turn
breaks the build of drivers like -ati, -intel & -nv that use xf86Modes.h,
which includes xf86Parser.h
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
The old DRI2 buffer allocation API wasn't great, but there's no reason to
make the server stop working with those drivers. This patch has the
X server adapting to the API provided by the driver, using the new API where
available and falling back to the old API as necessary. A warning will be
placed in the log file when the old API is in use.
(cherry picked from commit 2e2c5b216c)
Signed-off-by: Keith Packard <keithp@keithp.com>
fixes https://bugs.freedesktop.org/show_bug.cgi?id=22547
This bug was fixed in a big clean-up commit in master, which cannot be
backported (see commit b1dac41fb3)
Signed-off-by: Rémi Cardona <remi@gentoo.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
Proto headers updating resulting in the server advertising new versions is
broken. This should be applied to every extension.
This fixes the build against slightly-older xineramaproto.
(cherry picked from commit b349a764e9)
Signed-off-by: Keith Packard <keithp@keithp.com>
Wrong check for inputInfo.pointer resulted in a SW cursor being rendered when
the pointer left the screen (in a Xinerama setup).
We must call the sprite rendering function if
- SW cursors are enabled, or
- The current device is not the VCP and not attached to the VCP.
Backported from commit 66089e9129 for
server-1.6-branch by Peter Hutterer
Reported-by: Gordon Yuan <GordonYuan@viatech.com.cn>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
The lastSetTime value which indicates when the configuration within the
server was last changed was not getting set in the appropriate RandR
requests.
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 69a9545d1f)
Signed-off-by: Keith Packard <keithp@keithp.com>
Also, remove redundant field swaps and make others match the order in which
they are declared in the xRR*NotifyEvent structs.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit e244a5991e)
Signed-off-by: Keith Packard <keithp@keithp.com>
Xephyr doesn't manually set Activate/DeactivateGrab for new devices,
resulting in a NULL-pointer dereference later when a grab is activated.
Avoid the segfault by ensuring that the pointer is always valid.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 6f9e220498)
Signed-off-by: Keith Packard <keithp@keithp.com>
Remove notices for code no longer in tree (Xprint, Xgl, kdrive, cfb, etc.)
Add/update notices for new/changed code in tree
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
(cherry picked from commit b746a00cff)
Signed-off-by: Keith Packard <keithp@keithp.com>
Error: Write outside array bounds at Xext/geext.c:406
in function 'GEWindowSetMask' [Symbolic analysis]
In array dereference of cli->nextSib[extension] with index 'extension'
Array size is 128 elements (of 4 bytes each), index <= 128
Error: Buffer overflow at dix/events.c:592
in function 'SetMaskForEvent' [Symbolic analysis]
In array dereference of filters[deviceid] with index 'deviceid'
Array size is 20 elements (of 512 bytes each), index >= 0 and index <= 20
Error: Read buffer overflow at hw/xfree86/loader/loader.c:226
in function 'LoaderOpen' [Symbolic analysis]
In array dereference of refCount[new_handle] with index 'new_handle'
Array size is 256 elements (of 4 bytes each), index >= 1 and index <= 256
These bugs were found using the Parfait source code analysis tool.
For more information see http://research.sun.com/projects/parfait
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit b680bda34d)
(cherry picked from commit 04c9e80f08)
Signed-off-by: Keith Packard <keithp@keithp.com>
Zapping is triggered by xkb these days, so note in the man page that it's the
Terminate_Server action. Since it's XKB, personal preferences towards or
against zapping should be achieved through xkb rulesets.
If Terminate_Server is not in the xkb actions, then we can't zap anyway and we
don't need a default of DontZap "on".
This patch restores the old meaning of DontZap - disallow zapping altogether,
regardless of XKB's current keymap.
Ideally, this patch should be accompanied by b0f64bdab00db652e in
xkeyboard-config.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 737b49199a)
Signed-off-by: Keith Packard <keithp@keithp.com>
In ProcXkbGetKbdByName, mrep.firstVModMapKey, .nVModMapKeys and
.totalVModMapKeys were not initialized, contained random values and caused
accesses to unallocated and later modified memory, causing
XkbSizeVirtualModMap and XkbWriteVirtualModMap to see different number of
nonzero values, resulting in writes past the end of an array in XkbSendMap.
This patch initializes those values sensibly and reverts commits 5c0a2088 and
6dd4fc46, which have been plain non-sense.
Signed-off-by: Tomas Janousek <tomi@nomi.cz>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 525aa17f80)
Signed-off-by: Keith Packard <keithp@keithp.com>
The number of buffers is likely to change in the future, so having
this as a define is the right way to go.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
(cherry picked from commit 03aebed519)
For redirected rendering we end up with pixmaps (which the app thinks are
windows) that are double buffered.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Tested-by: Pierre Willenbrock <pierre@pirsoft.de>
(cherry picked from commit 0d9d3f3e36)
This change implements the protocol for DRI2GetBuffersWithFormat, but
the bulk of the differences are the changes to the extension / driver
interface to make this function work. The old CreateBuffers and
DeleteBuffers routines are replaced with CreateBuffer and DeleteBuffer
(both singular).
This allows drivers to allocate buffers for a drawable one at a time.
As a result, 3D drivers can now allocate the (fake) front-buffer for a
window only when it is needed. Since 3D drivers only ask for the
front-buffer on demand, the real front-buffer is always created. This
allows CopyRegion impelemenations of SwapBuffers to continue working.
As with previous version of this code, if the client asks for the
front-buffer for a window, we instead give it the fake front-buffer.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kristian Høgsberg <krh@redhat.com>
If a front-buffer is requested for a window, add the fake front-buffer
to the list of requested buffers.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
(cherry picked from commit aa2928325f)
Many old monitors zero-fill the detailed descriptors, so check for that
to avoid a useless warning like:
(WW) RADEON(0): Unknown vendor-specific block 0
(cherry picked from commit a2c5ee36b2)
Initialize the depth corresponding to the root window before the
pixmap-only depths. Otherwise you end up with the root window depth in
the depth list twice, which is mildly confusing for clients and
catastrophically confusing for PanoramiXConsolidate().
(cherry picked from commit 45530d1609)
Add a proper access mode, and reverse the logic of the return value.
Zero ("Success") is returned on success from the hook calls.
Signed-off-by: Eamon Walsh <ewalsh@tycho.nsa.gov>
(cherry picked from commit 3cea176d5a)
Instead, clients should keep track of the selection instances they use.
(cherry picked from commit 0952d12717)
Signed-off-by: Eamon Walsh <ewalsh@tycho.nsa.gov>
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 1c101d75d4)
Signed-off-by: Keith Packard <keithp@keithp.com>
This wrong check may cause BadLength to be returned to the client even if the
length is correct.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 8b583ca2b2)
Signed-off-by: Keith Packard <keithp@keithp.com>
LogVWrite is limited to a buffer size of 1024, so we don't loose anything here
by truncating. This way we can use LogVMessageVerb (and xf86Msg and friends)
during signal handlers with the normal message types.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Alan Coopersmith <alan.coopersmith@sun.com>
(cherry picked from commit 0e0642ee94)
Signed-off-by: Keith Packard <keithp@keithp.com>
When xinerama is enabled we don't get randr protocol, but the
driver might still want randr internals
(cherry picked from commit faf7dfa099)
Signed-off-by: Keith Packard <keithp@keithp.com>
The references to this file in the server code were removed in commit dda10c9066
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
(cherry picked from commit d0dd649035)
Signed-off-by: Keith Packard <keithp@keithp.com>
The '-co' option was removed in commit dda10c9066
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
(cherry picked from commit b0ad9e1ced)
Signed-off-by: Keith Packard <keithp@keithp.com>
When ProcXkbSetNamedIndicator is called on a core device, and we
walk the slaves to set the LED's on each of them, ignore any slaves
that do not have either a KbdFeedbackCtrl or LedCtrl structure.
(This is much more critical in xserver-1.5-branch, where we walk
*all* devices, not just the slaves of the specified master, and
thus return failure when setting an LED on the Core Keyboard and
hit a xf86-input-mouse device with no LED's to set.)
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 557dbadf3b)
Signed-off-by: Keith Packard <keithp@keithp.com>