This should hopefully help out wine clients that were continuing to
have issues after the earlier changes.
http://xquartz.macosforge.org/trac/ticket/548
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
We loose information from AppKit being in our way. Before adopting
smooth scrolling, we always rounded-up the number of scroll button
clicks per NSEvent. Now, the scroll value is accumulated in the
dix, and clicky scroll wheels with legacy X11 clients are seeing
an accumulation of error due to so many translations (button press
to smooth scrolling value in AppKit, passed to the dix, and then
synthesized into a button press). This attempts to make the
situation better.
http://xquartz.macosforge.org/trac/ticket/562
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
This should have no immediate impact aside from fake mouse buttons no longer
working with tablets (where they aren't needed or desired anyways). This
prepares us for future changes.
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
This lets use send more accurate data to Xi clients and uses dix
for legacy scroll buttons rather than reinventing the wheel.
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
If a FatalError occurs before the server finishes launching, it will
not have drained the launchd-owned DISPLAY socket, so launchd will
just relaunch it. This can cause the server to crash in a tight loop
which will spam the user with CrashReporter windows that claim focus on
appearance.
This allows users stuck in this loop to "deal" with the problem without
popping up a crash report every 10 seconds.
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
RENDER has some ugly issues on XQuartz, so add an option to disable RENDER.
Enables workaround for: https://bugs.freedesktop.org/show_bug.cgi?id=26124
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
This is strictly the application of the script 'x-indent-all.sh'
from util/modular. Compared to the patch that Daniel posted in
January, I've added a few indent flags:
-bap
-psl
-T PrivatePtr
-T pmWait
-T _XFUNCPROTOBEGIN
-T _XFUNCPROTOEND
-T _X_EXPORT
The typedefs were needed to make the output of sdksyms.sh match the
previous output, otherwise, the code is formatted badly enough that
sdksyms.sh generates incorrect output.
The generated code was compared with the previous version and found to
be essentially identical -- "assert" line numbers and BUILD_TIME were
the only differences found.
The comparison was done with this script:
dir1=$1
dir2=$2
for dir in $dir1 $dir2; do
(cd $dir && find . -name '*.o' | while read file; do
dir=`dirname $file`
base=`basename $file .o`
dump=$dir/$base.dump
objdump -d $file > $dump
done)
done
find $dir1 -name '*.dump' | while read dump; do
otherdump=`echo $dump | sed "s;$dir1;$dir2;"`
diff -u $dump $otherdump
done
Signed-off-by: Keith Packard <keithp@keithp.com>
Acked-by: Daniel Stone <daniel@fooishbar.org>
Acked-by: Alan Coopersmith <alan.coopersmith@oracle.com>
This preference allows users to override the related option in Mac OS X's
Mouse/Trackpad preferences. This effectively lets the user determine
which "context" all of X11 fits into for context-based scrolling until
such API exists within X11 itself to pass along to X11 clients.
This is applicable to Mav OS X 10.7+
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
This way we'll print an error and still mostly work rather than crashing if
someone installs XQuartz.app incorrectly or tries running the server within
the build system rather than the installed system.
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
In addition, this change will not call into the X11 activation unless an X11
window was active when we deactivated. We can't rely on the event and current
key windows because the key window will be nil until activated, and the event
will only reference the window if the window was clicked (whereas it will be
nil if we activated via dock or cmd-tab).
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Additionally removes some dead code and fixes double-locking in
xprIsX11Window. xprIsX11Window doesn't need to do any locking because
those resources are protected by the called functions themselves.
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Daniel A. Steffen <dsteffen@apple.com>
The CoreAudio path uses deprecated API and has reported crashes that
aren't worth fixing (4e8bf12b13 fixed
one and introduced another). NSBeep() does the job just fine.
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Adds three new functions
void QuartzRandRSetFakeRootless (void);
void QuartzRandRSetFakeFullscreen (void);
void QuartzRandRToggleFullscreen (void);
The first two are identical to requesting the fake modes from a RandR client
The third responds to cmd-alt-a to leave fullscreen or RandR.
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
We still have the issue with not raising the frontmost window for the case
when spaces is enabled, and the AppleSpacesSwitchOnActivate preference is
disabled.
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
The middle mouse clicks return erroneous values after returning from
Fast User Switching.
<rdar://problem/7979468>
http://xquartz.macosforge.org/trac/ticket/389
Signed-off-by: Martin Otte <otte@duke.edu>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Edward Moy <emoy@apple.com>
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
It's deprecated in SnowLeopard. Ben and I both have no idea what it is for. It says something about unicode input, but urxvt seems fine taking in unicode, so /shrug... bye.
(cherry picked from commit 29cb904e4d)
I don't understand the *why* ... I just see that it works better this way for games like Quake2 through wine. It *should* be better the other way, but somehow it's not.
I guess this will go in my list of puzzles to unravel.
(cherry picked from commit 65ae2d00e1)