mieqFini() already does the right thing, but it needs to be called by the
various DDXs and the XTest Extension.
X.Org Bug 38634 <http://bugs.freedesktop.org/show_bug.cgi?id=38634>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Acked-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
In updateSlaveDeviceCoords, pDev->last.valuators was being copied from
the master, but pDev->last.remainder wasn't. Make sure we copy both, to
avoid minor inconsistencies.
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>
RawEvents are supposed to be events coming from the driver. When warping the
pointer, this should not generate a raw event.
X.Org Bug 30068 <http://bugs.freedesktop.org/show_bug.cgi?id=30068>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Previously, the input tests were working up to sizeof(mask) * 8, which
could be more than the arrays; the latter only being sized as
MAX_VALUATORS.
Hypothetically, if you were switching the stored valuator values to
double instead of uint32_t, and you attempted to set the 39th member of
a MAX_VALUATORS-sized (36) array, you'd probably end up smashing
ev->key_repeat into oblivion and then tripping the check for invalid
flags because you haven't yet put XIPointerEmulated into the valid flags
for XI_Motion. Probably.
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>
Similar to how we link Xorg, make sure that whenever any of the
component libraries changes, we relink libxservertest and the tests.
Not much use testing anything other than the actual source in your tree.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
miPointerUpdateSprite is already called from mieqProcessInputEvents, so
calling it by hand immediately after isn't massively helpful.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Cyril Brulebois <kibi@debian.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
miPointerUpdateSprite is already called from mieqProcessInputEvents, so
calling it by hand immediately after isn't massively helpful.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Cyril Brulebois <kibi@debian.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Headers don't really need to be mode 0755.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Cyril Brulebois <kibi@debian.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Add four new private XKB actions for debugging:
* PrGrbs: print active grabs to the log file
* Ungrab: ungrab all currently active grabs
* ClsGrb: kill clients with active grabs
* PrWins: dump the current window tree to the log file
To use these, you need to modify your XKB maps, e.g. the following to
have Ctrl+Alt+(F9-F12) mapped to the above:
- compat/xfree86:
interpret XF86LogGrabInfo {
action = Private(type=0x86, data="PrGrbs");
};
interpret XF86Ungrab {
action = Private(type=0x86, data="Ungrab");
}
interpret XF86ClearGrab {
action = Private(type=0x86, data="ClsGrb");
}
interpret XF86LogWindowTree {
action = Private(type=0x86, data="PrWins");
}
- symbols/pc:
key <FK09> { type="CTRL+ALT", [ Return, XF86LogGrabInfo ] };
key <FK10> { type="CTRL+ALT", [ Return, XF86Ungrab ] };
key <FK11> { type="CTRL+ALT", [ Return, XF86ClearGrab ] };
key <FK12> { type="CTRL+ALT", [ Return, XF86LogWindowTree ] };
At the moment, this only works if the grabbing client continues to call
AllowEvents, as the server does no event processing at all when a device
is frozen.
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>
Rewrite PrintWindowTree to make it actually tell you what you want to
know.
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>
Report to find out all non-UTF-8 files created by
cat extensions |xargs -I XXXX find . -name \*.XXXX |while read FILE ; do
if ( iconv -f utf8 -t ucs2 $FILE >/dev/null 2>/dev/null ) ; then
/bin/true
else
echo $FILE
fi
done >>report
Signed-off-by: Matěj Cepl <mcepl@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
[Daniel: git am failed for me, so I redid it. The method listed in the
commit message also failed, so I just used file/grep/iconv. The
results are the same though.]
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
BlockHandler and WakeupHandlers may be removed within a different
BlockHandler or WakeupHandler, especially since config/udev uses
these and removes devices.
Calling the deleted handlers and passing potentially freed data
can result in the X server segfaulting after device removal, or
events that result in device removal such as undocking or suspend/
resume.
Signed-off-by: Scott James Remnant <scott@netsplit.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
ConfigNotify is set by DRI2ScreenInit, but not restored to
previous state on close. Fix it.
(I'm preparing a patch for xf86-video-nouveau which detects GPU lockup
after dri2 init and it needs to reinitialize dri2)
Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
sdksyms moved from hw/xfree86/loader to hw/xfree86, so the
configure-time create of sdksyms.dep needs to reflect that
change. Otherwise, make might be confused by a missing file and (more
importantly to me) hw/xfree86/loader/sdksyms.dep will be left around
after 'make clean' causing 'make distcheck' to fail.
Introduced in e3f296d91d, when the ifdef DEBUG
around the whole block was removed, but only two of the three ErrorF
switched to DebugF.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
libxorg.la served to collect all the Xorg convenience libraries into one
massive archive to link into Xorg. This made things easy for symbol
resolution, but it tremendously slowed down the build since each change
caused libxorg.la to be rebuilt. This is an extremely slow process of
extracting all the objects from the sub-libraries and recombining them.
Instead, the archives are linked directly into Xorg. The order of the
libraries had to be tweaked a bit to make symbols resolve correctly with
the lower level code moving later in the link command.
As a side effect, since the dtrace objects are now being linked
directly into Xorg, we don't need the SPECIAL_DTRACE_OBJECTS hack to
add them twice.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Tested-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Tested-by: Peter Hutterer <peter.hutterer@who-t.net>
The symbols in sdksyms.c cover the entire source tree. In order to make
them resolve when libxorg.la goes away, move the objects from libloader
to Xorg. Unfortunately, this means sdksyms needs to get built again for
the test code.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Tested-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Tested-by: Peter Hutterer <peter.hutterer@who-t.net>
When an empty _SOURCES variable is declared, automake will recognize that
only linking is needed.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Tested-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Tested-by: Peter Hutterer <peter.hutterer@who-t.net>
The XSLT processor also needs to know about the entities defined
in xserver.ent. It removes error messages.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
Refactor to follow the pattern one Makefile, one .gitignore
where needed.
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
Passed through from configure.ac via manpages.am
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Matthieu Herrb <matthieu.herrb@laas.fr>
Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
DocBook/XML input source is also a useful output format that can be viewed
with an XML viewer or editor and by some O/S help system.
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This matches a change in xorg-sgml-docs whereby the masterdb will look for
the target dbs into the same location as the generated documents.
The target dbs are now installed alongside the generated documents.
Previously they are installed in $prefix/sgml/X11/dbs alongside masterdb which
has the potential of installing outside the package prefix and cause
distcheck to fail when user does not have write permission in this package.
Requires XORG_CHECK_SGML_DOCTOOLS(1.8) which was released 2011-06-11
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
The incorrect drawable deltas were applied if dst was a redirected
window. Resulting in a bogus region passed to prepare_access_reg().
Signed-off-by: Rob Clark <rob@ti.com>
Reviewed-by: Michel Dänzer <michel@daenzer.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
_glapi_create_table_from_handle was recently added to mesa to ease creation of
a _glapi_table. This commit brings this API over to xserver for use in
XQuartz (next commit).
The API was generated with scripts from current mesa followed by various
script-foo to remove entries that are not in the server and add those which
are still in the server but not in mesa (CullParameterdvEXT and
CullParameterfvEXT)
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
No functional changes, prep work for future changes.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Cyril Brulebois <kibi@debian.org>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Move out the actual event delivery, it needs to be used from elsewhere.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
To avoid confusion with a future patch and it better describes what this
does anyway - delivering events to all clients that have the event mask on
the window.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
No functional change, but "other" was renamed to "clients".
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
dc57f89959 accidentally reversed the
conditions.
in dix/events.c we try to detach floating devices. This leads to a
NULL-dereference on GetMaster()->id.
in dix/getevents.c we try to get the master device for the floating slave
and dereference it.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Providing an argument to return in a function with void return type
is not allowed by the C standard, and makes the Sun compilers unhappy.
Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
That one was missing _XkbKSLower:
XK_kra: U+0138 LATIN SMALL LETTER KRA
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Cyril Brulebois <kibi@debian.org>
Those ones were getting _XkbKSLower for no reasons:
XK_ogonek: U+02DB OGONEK
XK_doubleacute: U+02DD DOUBLE ACUTE ACCENT
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Cyril Brulebois <kibi@debian.org>
That one was missing _XkbKSLower:
XK_ssharp: U+00DF LATIN SMALL LETTER SHARP S
That one was getting _XkbKSLower for no reasons:
XK_division: U+00F7 DIVISION SIGN
For reference, XK_multiply was already excluded from the _XkbKSUpper
check, it's no big surprise XK_division has to be excluded from the
_XkbKSLower check.
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Cyril Brulebois <kibi@debian.org>
This will allow XQuartz built on older systems to pickup capabilities on
newer systems and prevent runtime failures when building on newer systems and
running on older ones.
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
This was indented to force a link against OpenGL.framework's libGL, but it
actually resulted in linking against mesa's libGL due to the ordering of -L
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Originally reported in the Debian BTS:
http://bugs.debian.org/582650
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Jari Aalto <jari.aalto@cante.net>
Signed-off-by: Cyril Brulebois <kibi@debian.org>
Spotted by -Wlogical-op:
| CC xkbfmisc.lo
| xkbfmisc.c: In function '_XkbKSCheckCase':
| xkbfmisc.c:104:3: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op]
| xkbfmisc.c:118:3: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op]
A quick look at the keysymdef.h file (from xproto) suggests the
implementor chose to use interval checks to determine the case, but
since lines weren't sorted by codepoints, checks were quite wrong.
Implement _XkbKSUpper/_XkbKSLower checks based on a grep for
CAPITAL/SMALL (respectively) on the Latin 8 part of the said file.
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Cyril Brulebois <kibi@debian.org>