In OpenBSD removed support PCCONS in 2002 year
http://marc.info/?l=openbsd-cvs&m=102435816424294&w=2
Signed-off-by: Alexandr Shadchin <Alexandr.Shadchin@gmail.com>
Reviewed-by: Matthieu Herrb <matthieu.herrb@laas.fr>
Signed-off-by: Keith Packard <keithp@keithp.com>
RecordFlushReplyBuffer can call itself recursively through
WriteClient->CallCallbacks->_CallCallbacks->RecordFlushAllContexts
when the recording client's buffer cannot be completely emptied in one
WriteClient. When a such a recursion occurs, it will not be broken out
of which results in segmentation fault when the stack is exhausted.
This patch adds a counter (a flag, really) that guards against this
situation, to break out of the recursion.
One alternative to this change would be to change _CallCallbacks to
check the corresponding counter before the callback loop, but that
might affect existing behavior, which may be relied upon.
Reviewed-by: Rami Ylimäki <rami.ylimaki@vincit.fi>
Signed-off-by: Erkki Seppälä <erkki.seppala@vincit.fi>
Signed-off-by: Keith Packard <keithp@keithp.com>
For Pointer Barriers, the movement mode is important and must be passed
through.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Use _LP64 (verified on gcc and sun compilers) instead of _XSERVER64 in
internal header usage, and always define _XSERVER64 for modules if _LP64
is defined. Prevents differing xorg-server.h between 32 and 64 bit
packages.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Inferring modes from sync ranges is only valid if the monitor says it's
valid. If the monitor says it's valid, then we'll have already added
those modes during EDID block parse. If it doesn't, then we should
believe it.
If there's no EDID for an output, but sync ranges from the config, we'll
still add default modes as normal.
Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
glxvendor.c: In function ‘__glXVForwardPipe0WithReply’:
glxvendor.c:205:10: warning: ‘be_buf’ may be used uninitialized in this function
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
glxvendor.c: In function ‘__glXVForwardAllWithReply’:
glxvendor.c:284:10: warning: ‘be_buf’ may be used uninitialized in this function
glxvendor.c:285:10: warning: ‘be_buf_size’ may be used uninitialized in this function
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
glxsingle.c: In function ‘__glXForwardPipe0WithReply’:
glxsingle.c:218:10: warning: ‘be_buf’ may be used uninitialized in this function
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
glxsingle.c: In function ‘__glXForwardAllWithReply’:
glxsingle.c:300:10: warning: ‘be_buf’ may be used uninitialized in this function
glxsingle.c:301:10: warning: ‘be_buf_size’ may be used uninitialized in this function
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
glxsingle.c: In function ‘__glXDisp_ReadPixels’:
glxsingle.c:760:11: warning: ‘buf’ may be used uninitialized in this function
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
render2swap.c:264:13: warning: ‘swapArray’ defined but not used
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
glxcmds.c: In function ‘CreateGLXPixmap’:
glxcmds.c:1663:20: warning: comparison between pointer and integer
glxcmds.c:1663:38: warning: comparison between pointer and integer
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
glxcmds.c: In function ‘CreateGLXPixmap’:
glxcmds.c:1641:22: warning: ‘pGlxScreen’ may be used uninitialized in this function
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
glxcmds.c: In function ‘CreateContext.clone.6’:
glxcmds.c:105:19: warning: ‘be_fbconfigId’ may be used uninitialized in this function
glxcmds.c:104:14: warning: ‘be_vid’ may be used uninitialized in this function
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
glxcmds.c: In function ‘__glXGetDrawableAttributes’:
glxcmds.c:3295:8: warning: ‘screen’ may be used uninitialized in this function
glxcmds.c:3298:8: warning: ‘attribs_size’ may be used uninitialized in this function
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
glxcmds.c: In function ‘__glXChangeDrawableAttributes’:
glxcmds.c:3464:8: warning: ‘screen’ may be used uninitialized in this function
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
When delivering an event to a device grabbed with SyncBoth,
DeliverGrabbedEvent walks the device tree looking for associated devices
to freeze them. Unfortunately, it froze all devices instead of just the
paired device, and the previous fix in 4fbadc8b17 would still break
if the same client had a non-SyncBoth grab on another unrelated master
device.
Fix this by completely ignoring devices that aren't our paired device.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
The removal of the double-use will cause some suble bugs as some conditions
to check for the dev->u.master case were broken and also evaluated as true
if lastSlave was set (instead of master).
Also breaks the input ABI.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <tissoire@cena.fr>
And copy into the master keyboard, not just the directly attached device.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Benjamin Tissoires <tissoire@cena.fr>
Same result, but now also triggers on slave keyboards that send pointer
events.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <tissoire@cena.fr>
We need to check if our master keyboard is the given device since we may be
a pointer with keys and thus need to change the modmap too.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <tissoire@cena.fr>
We don't just care about the directly attached master, we care about the
master keyboard.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <tissoire@cena.fr>
In some cases, we don't know/care whether we want the master pointer or keyboard
for a device. Add a new type MASTER_ATTACHED to return the master this
device is attached to.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <tissoire@cena.fr>
This is not a straightforward search/replacement due to a long-standing
issue.
dev->u.master is the same field as dev->u.lastSlave. Thus, if dev is a master
device, a check for dev->u.master may give us false positives and false
negatives.
The switch to IsFloating() spells out these cases and modifies the
conditions accordingly to cover both cases.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <tissoire@cena.fr>
GetMaster() returns NULL for floating slaves.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <tissoire@cena.fr>
These two were sideeffects of lastSlave being in the same field as the
master. For devices generated by the master device directly, lastSlave was 0
and the device would (with the old checks) be interpreted as floating.
Add the required checks to safeguard against master devices.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <tissoire@cena.fr>