These functions no longer go through the screen vtable, so remove
them and fix up the various wrappers.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Acked-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Soren Sandmann <ssp@redhat.com>
This converts all the remaining 1->num loops to the macro,
this removes nearly all the panoramiXNumScreens usage in
loops, and is a step to replacing it.
v2: move some from the other patch.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
This just uses the FOR_NSCREENS macro instead.
v2: remove some of the 1->x loops.
v3: drop the 1->0 loop, will rework later.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Devices usually enable SIGIO processing in EnableDevice. CheckMotion
initialises the pointer sprite, sends Enter/Leave events, etc. This leaves
us with a small window where events may be processed without the sprite or
pointer position (as seen from the protocol) is valid.
Block signals during this window.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
configScreen used a dynamically allocated buffer for XF86ConfScreenRec
when conf_screen argument was NULL. This pointer was never stored
anywhere, nor was it released, so this patch makes the function use
automatically allocated storage in that situation.
[ajax: minor grammar fix]
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Rami Ylimäki <rami.ylimaki@vincit.fi>
Signed-off-by: Erkki Seppälä <erkki.seppala@vincit.fi>
The class field was unused for pixmaps, and we don't have enough classes
to justify a whole uint32 anyway.
Reviewed-by: Soren Sandmann <ssp@redhat.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
v2: Slightly more obvious sizing math.
==14882== Invalid write of size 2
==14882== at 0x6750267: VBEGetVBEInfo (vbe.c:400)
==14882== by 0x6142064: ??? (in /usr/lib64/xorg/modules/drivers/vesa_drv.so)
==14882== by 0x471895: InitOutput (xf86Init.c:519)
==14882== by 0x422778: main (main.c:205)
==14882== Address 0x4f32fa8 is 72 bytes inside a block of size 73 alloc'd
==14882== at 0x4A0640D: malloc (vg_replace_malloc.c:236)
==14882== by 0x675024B: VBEGetVBEInfo (vbe.c:398)
==14882== by 0x6142064: ??? (in /usr/lib64/xorg/modules/drivers/vesa_drv.so)
==14882== by 0x471895: InitOutput (xf86Init.c:519)
==14882== by 0x422778: main (main.c:205)
Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
sdksyms.c is constructed by processing header files with the C
preprocessor. Its contents will vary depending on the precise
configuration options, and so must depend on the config header
files.
We have one header file which is always changed when any config option
is modified called do-not-use-config.h (which may want a different
name at some point), so make sdksyms.c depend on that file.
Also, we don't want to ship this file; it always needs to be
built. So, include it in the nodist_libloader_la_SOURCES list to
prevent it from being added to the tarball.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
Since commit b8d9c5ff removed commonOptions, we now
need to append the "Core{Keyboard,Pointer}" options to
the existing list.
Fixes passing options to devices confirured in xorg.conf
on systems where autoaddevices is false.
Signed-off-by: Matthieu Herrb <matthieu.herrb@laas.fr>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
We now support using RandR to set the resolution of the primary display (and
place a shielding window on other displays) in multi-monitor configurations.
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Instead of listing one of the doxygen output files and depending on
sequential execution to ensure that the other files were present
before make checked for them, create explicit dependencies so that
make will not check for the additional files until after doxygen has
been run.
This allows parallel make to work correctly in this directory.
Signed-off-by: Keith Packard <keithp@keithp.com>
Tested-by: Kristian Høgsberg <krh@bitplanet.net>
Tarballs include the downloaded gl spec files, which will end up in
$(srcdir). But, git-based builds will not have them at all and will
need to download them from opengl.org. They'll land in in the build
directory instead of $(srcdir), and so we need to allow them to be in
either place.
This change checks for the files in $(srcdir), linking them to . if
present. Otherwise, it downloads them from opengl.org.
A suggested better solution is to have Mesa install these files somewhere.
Signed-off-by: Keith Packard <keithp@keithp.com>
Tested-by: Kristian Høgsberg <krh@bitplanet.net>
The paths in doxygen.conf assumed that srcdir=builddir and broke
otherwise. Use autoconf to fill in the paths to the srcdir so that the
files can be found when users have a separate build directory (as with
distcheck).
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Tested-by: Cyril Brulebois <kibi@debian.org>
Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
Non-GNU makes don't deal with the sinclude or -include variants that
allow Makefile stubs to be created and then included during the build.
Instead, create an empty file at the end of configure so that the
regular include statement can be included. This is how automake handles
automatic source dependencies.
In order to trick automake into not processing the include statement, a
variable is used.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Tested-by: Alan Coopersmith <alan.coopersmith@oracle.com>
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>
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>
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>
The calling for allocate_or_reuse_buffer may fail due to some reason, e.g. out of memory.
If the buffers[] were not initialized to be NULL, the following err_out may try to access an illegal memory, which will cause X crash afterward.
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Justin Dou <Justin.Dou@intel.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
This allows set_percent_option in synaptics to work as described,
and should generally enable to check option syntax without log spam.
Signed-off-by: Simon Thum <simon.thum@gmx.de>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Simon Thum <simon.thum@gmx.de>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
InitInput simply initialises all input devices now.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
Did you know that anonymous enums with function scope will not only
override the enum values from global scope, but will be treated as
entirely different types? C's type system just rules.
xf86Crtc.c: In function 'handle_detailed_monrec':
xf86Crtc.c:1555:33: warning: comparison between 'enum det_monrec_source' and 'enum <anonymous>'
xf86Crtc.c:1562:33: warning: comparison between 'enum det_monrec_source' and 'enum <anonymous>'
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
It's broken for devices with BARs above 4G, and the sysfs method should
work everywhere anyway. As a pleasant side effect, this fixes some
warnings:
fbdevhw.c: In function 'fbdev_open_pci':
fbdevhw.c:333:4: warning: cast from pointer to integer of different size
fbdevhw.c:334:4: warning: cast from pointer to integer of different size
fbdevhw.c:336:4: warning: cast from pointer to integer of different size
fbdevhw.c:337:4: warning: cast from pointer to integer of different size
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
helper_exec.c: In function 'pciCfg1in':
helper_exec.c:507:4: warning: passing argument 2 of 'pci_device_cfg_read_u32' from incompatible pointer type
/usr/include/pciaccess.h:153:5: note: expected 'uint32_t *' but argument is of type 'CARD32 *'
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
xf86VidMode.c: In function 'VidModeGetMonitorValue':
xf86VidMode.c:637:19: warning: 'ret.i' may be used uninitialized in this function
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Add a keycode mapping for VK_OEM_8 as RCtrl, which is issued by Canadian
Multilingual Standard layout
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
Ignore MappingNotify events sent to clipboard integration client,
xmodmap changes aren't of interest to it, but there is no mechanism
to express that disinterest.
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
Replace useless #if 0/ErrorF/#endif with winDebug
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
If none of Xv ports were affected by window tree modifications we don't
want scan the port list. To avoid useless scanning of port list
PostValidateTree hook is only registered when ClipNotify was called for
any port.
Signed-off-by: Pauli Nieminen <ext-pauli.nieminen@nokia.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@nokia.com>
ValidateTree calls first ClipNotify and later might call
WindowExposures. To avoid useless double reput ClipNotify delays reput
to WindowExposures or PostValidateTree.
PostValidatTree checks all ports if there is clip changes. On clip
changes reput is done to move or scale the overlay.
Signed-off-by: Pauli Nieminen <ext-pauli.nieminen@nokia.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@nokia.com>
If window gets exposed but clipboxes doesn't change drivers would avoid
color key fill. This makes XResizeWindo&co to lose colorkey if
background is painted.
To help drivers to avoid filling colorkey for each put server can
provide helper function if there is exposed areas. Server can subtract
exposed areas from filled region.
As a side effect we can avoid useless color key fills if window only
moves in screen without background fills.
v3:
* Change tracking to filled area to account for client initiated clip
changes
* Make overlaid XvPutImage behavior like textured XvPutImage or PutImage
* Make region dynamically allocated only when required.
v4:
* Simplify new driver interface to reduce duplicate code
Signed-off-by: Pauli Nieminen <ext-pauli.nieminen@nokia.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@nokia.com>
xf86XVFillKeyHelperDrawable can be used to implement
xf86XVFillKeyHelper.
V2:
* Remove RegionTranslate that clobbered parameter region.
Signed-off-by: Pauli Nieminen <ext-pauli.nieminen@nokia.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@nokia.com>
The EDID processing regards physical dimensions of 0mm x 0mm as
invalid. Previously the old values for height and width would be
preserved if none of the physical dimension specifications in the new
EDID were considered valid.
This will come up in particular if first a monitor is connected to an
output, and then a projector is connected. Since projectors generally
report physical dimensions of 0mm x 0mm, this would result in the
projector claiming to have the physical dimensions of the monitor.
Signed-off-by: Evan Broder <ebroder@mokafive.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
DGAIsDgaEvent() is not used anymore.
Signed-off-by: Ville Syrjala <syrjala@sci.fi>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Ville Syrjala <syrjala@sci.fi>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Move some variables to the scope where they are used.
Signed-off-by: Ville Syrjala <syrjala@sci.fi>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Ville Syrjala <syrjala@sci.fi>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Previously some sort of absolute coordinates were sent out in
the padding of the DGA2 Motion and Button events. DGAMouseX
and DGAMouseY were used to keep track of said coordinates.
libXxf86dga doesn't use that data for anything, and at least
git history didn't show any past usage either. So let's just
remove the last remnants of of this mess.
Signed-off-by: Ville Syrjala <syrjala@sci.fi>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Copy dx/dy from the internal event to the DGA2 Motion/Button events.
Do the same for Key events for the sake of keeping the code consistent.
Signed-off-by: Ville Syrjala <syrjala@sci.fi>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
mieq_installed is used as a boolean, so why not make it such. Also
it's a static variable, so the the explicit zero initialization can
be removed.
Signed-off-by: Ville Syrjala <syrjala@sci.fi>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Remove the handler only if it was installed. Also mark it as
uninstalled, otherwise it wouldn't get reinstalled after a
server reset.
Signed-off-by: Ville Syrjala <syrjala@sci.fi>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
The ET_DGAEvent handler is only installed when a client
requests relative events via DGA1. Do it also when a client
requests DGA2 events.
Signed-off-by: Ville Syrjala <syrjala@sci.fi>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
DGA key event support was lost in commit
8da0ff2d51. Bring it back.
Signed-off-by: Ville Syrjala <syrjala@sci.fi>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
We get an XP_EVENT_DISPLAY_CHANGED event when our display configuration is
changed. If this change was caused by hotplugging a monitor or Mac Display
Preferences changes by the user, we need to call RRScreenSizeNotify in order
to ensure new connections get the correct screen size.
http://xquartz.macosforge.org/trac/ticket/460
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>