Commit Graph

1049 Commits

Author SHA1 Message Date
Jeremy Huddleston 7dfd65705c XQuartz: ASL: Use GLXAqua subsystem for logging GLXAqua messages
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-06-01 21:18:47 -07:00
Jeremy Huddleston 19020b23ef XQuartz: ASL: Use xpr subsystem for logging xpr messages
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-06-01 21:18:44 -07:00
Jeremy Huddleston a66400f8db XQuartz: ASL: Update logging to support differnet levels and subsystems
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-06-01 21:07:56 -07:00
Jeremy Huddleston c0077b41b4 XQuartz: Add a semicolon after DEBUG_LOG
Don't rely on the macro to provide it

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-06-01 20:56:18 -07:00
Jeremy Huddleston fbc8aae8e9 XQuartz: Move -lXplugin to LDFLAGS from LDADD
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-06-01 20:41:11 -07:00
Jeremy Huddleston 38df706c6b XQuartz: GLX: Create a new dispatch table rather than modifying the existing one
Fixes regression introduced by b0c665ac0f

0   X11.bin                       	0x0000000100118293 __glXAquaScreenCreateContext + 684
1   X11.bin                       	0x00000001001315b0 DoCreateContext + 163
2   X11.bin                       	0x000000010013509f __glXDispatch + 211
3   X11.bin                       	0x00000001000c7dad Dispatch + 785
4   X11.bin                       	0x00000001000b97e5 dix_main + 1022
5   X11.bin                       	0x00000001000122bc server_thread + 50
6   libSystem.B.dylib             	0x00007fff836554f6 _pthread_start + 331
7   libSystem.B.dylib             	0x00007fff836553a9 thread_start + 13

http://lists.apple.com/archives/X11-users/2011/May/msg00045.html

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
2011-06-01 20:41:11 -07:00
Jeremy Huddleston 1fb501ad15 XQuartz: Don't crash if CG increases our display resolution
miPaintWindow would cause fbFill() to overwrite pScreen's pixmap which was
sized for the old resolution.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-22 11:17:59 -07:00
Jeremy Huddleston 60af79e35e XQuartz: RandR: Don't crash if X11 is launched while there are no attached displays
If CG reports no displays when launching, we could crash in RandR.  Instead, just
provide a fake 800x600 display until we are notified about displays being attached.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-22 11:17:59 -07:00
Jeremy Huddleston f25ca898c5 XQuartz: Mark functions _X_NORETURN
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-22 11:17:59 -07:00
Jeremy Huddleston 7413886d65 XQuartz: Silence clang warnings about shadow declarations
X11Application.m:1272:26: warning: declaration shadows a local variable [-Wshadow,Semantic Issue]
                xp_error e;
                         ^
X11Application.m:1098:36: note: previous declaration is here
- (void) sendX11NSEvent:(NSEvent *)e {
                                   ^
1 warning generated.

bundle-main.c:648:36: warning: declaration shadows a local variable [-Wshadow,Semantic Issue]
                    int max_files, i;
                                   ^
bundle-main.c:594:9: note: previous declaration is here
    int i;
        ^
1 warning generated.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-22 11:17:59 -07:00
Jeremy Huddleston 96ac4e61f4 XQuartz: Update DEBUG_LOG to report to ASL
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-22 11:17:59 -07:00
Jeremy Huddleston 384eb45b94 XQuartz: RandR: Avoid over-releasing if we are unable to determine the current display mode.
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-14 19:15:27 -07:00
Jeremy Huddleston 25191648b8 XQuartz: Don't call mieqEnqueue during server shutdown
Found-by: GuardMalloc
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-14 19:15:27 -07:00
Jeremy Huddleston fd5f630bc4 XQuartz: Fix an array-index-out-of-bounds crasher
Found-by: GuardMalloc
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-14 19:15:26 -07:00
Keith Packard ba5540221f Merge remote-tracking branch 'whot/for-keith' 2011-05-13 13:59:36 -07:00
Jeremy Huddleston f144fb771f XQuartz: Don't circumvent NDEBUG
If someone wants to turn off asserts with NDEBUG, let them.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-13 09:10:42 -07:00
Jeremy Huddleston f46835a096 XQuartz: Redirect stdout/stderr to asl
In order to improve logging in XQuartz, stdout and stderr should be redirected
to asl (syslog).

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-12 20:19:40 -07:00
Jeremy Huddleston 5bc05d96f8 XQuartz: Add a LOGGING section to our man page
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-12 19:28:32 -07:00
Jeremy Huddleston c18b7165f9 XQuartz: stub: Log directly to ASL rather than stdout/stderr
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-12 19:28:32 -07:00
Jeremy Huddleston d694601591 Fix a typo: laucnd instead of launchd
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-12 18:31:14 -07:00
Jeremy Huddleston c89a6f824e XQuartz: Don't call into CoreFoundation after fork() and before exec()
After fork()ing, we should just limit ourselves to setting up
the environment, file descriptors, and exec()ing.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-10 23:55:19 -07:00
Peter Hutterer 20fb07f436 input: remove DDX event list handling
The current approach to event posting required the DDX to request the event
list (allocated by the DIX) and then pass that list into QueuePointerEvent
and friends.

Remove this step and use the DIX event list directly. This means that
QueuePointerEvent is not reentrant but it wasn't before anyway.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-11 14:27:36 +10:00
Peter Hutterer 8670c46bdf input: replace EventListPtr with InternalEvent array
EventListPtr is a relic from pre-1.6, when we had protocol events in the
event queue and thus events of varying size.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-11 14:27:36 +10:00
Peter Hutterer e7150db535 input: Provide Queue{Button|Keyboard|Proximity}Event helpers
Don't require every caller to use GPE + mieqEnqueue, provide matching
Queue...Event functions instead.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-11 14:27:33 +10:00
Jeremy Huddleston 3ac220d6cc XQuartz: prefs_copy_url and prefs_get_copy return retained objects
No functional change.  This just annotates the return policy.

Found-by: clang static analyzer
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-03 10:54:09 -07:00
Jeremy Huddleston bac8d12555 XQuartz: Ensure that {CF,NS}_RETURNS{,_NOT}_RETAINED are defined
These will be used in subsequent patches to denote proper retain counts in XQuartz

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-03 10:39:31 -07:00
Jeremy Huddleston 0fc7ec6dd5 XQuartz: Fix incorrect typedefs with XPLUGIN_VERSION < 4
Ok, this time for sure... how many brown bags can I fit over my face?

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-29 11:06:18 -07:00
Jeremy Huddleston 29d471663e XQuartz: Use a rwlock instead of a mutex to protect window_hash in the pthread case
Concurrent reads are acceptable, so using an rwlock should be better.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-29 11:04:42 -07:00
Jeremy Huddleston 0f284f0f42 XQuartz: BuildFix to build correctly with XPLUGIN_VERSION < 4
This fixes a regression introduced by d79cc14a51

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-27 22:12:59 -07:00
Jeremy Huddleston 6f29dbf5e3 XQuartz: Use ErrorF rather than fprintf to log errors
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 22:00:41 -07:00
Jeremy Huddleston cb083b05c4 XQuartz: stub: Dead code removal
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 21:25:10 -07:00
Emanuele Giaquinta 72ed7551f4 XQuartz: pbproxy: LP64: Fix itteration through XGetWindowProperty where sizeof(long) != 4
http://xquartz.macosforge.org/trac/ticket/476

Signed-off-by: Emanuele Giaquinta <emanuele.giaquinta@gmail.com>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:04 -07:00
Jeremy Huddleston 0a60192a85 XQuartz: Enable logging to a file for better debugging
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:04 -07:00
Jeremy Huddleston de4023f194 XQuartz: Rename launchd-id-prefix to bundle-id-prefix
It's used many other places than just for launchd.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:04 -07:00
Jeremy Huddleston e466745109 XQuartz: Dead code removal
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:04 -07:00
Jeremy Huddleston f1d867c0a1 XQuartz: Silence clang static analyzer
Call to 'malloc' has an allocation size of 0 bytes.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:03 -07:00
Jeremy Huddleston 913223e9dd XQuartz: xpr: Dead code removal
Assigned value is always the same as the existing value.

Found by clang static analyzer

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:03 -07:00
Jeremy Huddleston d0caa0e4cd XQuartz: Silence warnings about deprecated functionality where it is an intended fallback
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:03 -07:00
Jeremy Huddleston 9244a3a24f XQuartz: xpr: Use a serial queue rather than pthread mutexes for window_hash
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>
2011-04-25 18:57:03 -07:00
Jeremy Huddleston bac34a54f7 XQuartz: xpr: Initialize window_hash in xprInit
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:03 -07:00
Jeremy Huddleston 1596ea72d6 XQuartz: Use a lighter spinlock instead of a pthread_mutex_t in QuartzScreenSaver
Currently, we only end up here through a call to QuartzShowFullscreen, and
this is always on the same thread.  Future changes (such as further
incorporating libdispatch) may allow this to change, but contention will
remain minimal since the call is infrequent and it is short held.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Daniel A. Steffen <dsteffen@apple.com>
2011-04-25 18:57:02 -07:00
Jeremy Huddleston 3e253c603b XQuartz: Remove the threadSafety dead-ish code
It's been a few years now since we've needed this to debug thread
boundaries, so punt it out to clean up the namespace polution.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:02 -07:00
Jeremy Huddleston a52c8078c9 XQuartz: Use xorg_backtrace() instead of spewCallStack()
xorg_backtrace() has been in os for two years now, we might as well
start using it.

Ref: 94ed0ba1b5

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:02 -07:00
Jeremy Huddleston d79cc14a51 XQuartz: Fix compilation warnings with XPLUGIN_VERSION >= 4
xprAppleWM.c:143: warning: initialization from incompatible pointer type
xprAppleWM.c:144: warning: initialization from incompatible pointer type

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:02 -07:00
Jeremy Huddleston 6128544fd5 XQuartz: Bump bundle version to 2.7.0
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:02 -07:00
Nicolas Kaiser c270cfc30c hw/xquartz: remove duplicated includes
Remove duplicated includes.

Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-24 19:46:07 -07:00
Keith Packard 918a9c99cf Merge remote-tracking branch 'jeremyhu/master' 2011-04-22 11:20:16 -07:00
Jeremy Huddleston 5f496bc919 XQuartz: Do translation and handoff of NSEvent to X11 in a separate serial queue
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-22 02:20:59 -07:00
Jeremy Huddleston 72bd232b11 XQuartz: Send tablet proximity events with tilt and pressure
<rdar://problem/6257569>

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-22 01:24:44 -07:00
Jeremy Huddleston 034538ea9b XQuartz: Use dispatch_async to handoff the FD
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-21 23:56:18 -07:00
Jeremy Huddleston 3960115dbc XQuartz: Fix prototypes for thread functions
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-21 23:56:18 -07:00
Jeremy Huddleston 7524dbd061 XQuartz: Make the DarwinProcessFDAdditionQueue_thread wait 3 seconds to allow xinitrc to catch up
Previously, we weren't always waiting the full three seconds.  This should
be better, but is still sub-optimal.  We really want to start processing
these once a WM has been started.

http://xquartz.macosforge.org/trac/ticket/416

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-21 23:56:18 -07:00
Peter Hutterer 071a6ac4d0 input: remove GetKeyboardValuatorEvents, this is now unnecessary.
GetKeyboardValuatorEvents handles NULL valuator masks already, so the
GetKeyboardEvents wrapper is not needed. Rename GKVE to GKE.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2011-04-18 13:05:46 +10:00
Adam Jackson c327d07cc6 glx: Remove ->forceCurrent from the context vtable
All the implementations of makeCurrent and forceCurrent are identical,
so just use makeCurrent everywhere.

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2011-03-28 12:46:38 -04:00
Adam Jackson b0c665ac0f glx: Remove noop dispatch table
We can never hit this, because the indirect GLX dispatch code always
forces a current context and checks that it's non-NULL before calling
into the dispatch table.  If it's _not_ null, then _glapi_set_context
will call into the driver, which is responsible for calling
_glapi_set_dispatch to make sure the dispatch table is non-NULL.

Also remove _glapi_set_warning_func and friends, since we can no longer
call them even from dead code.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2011-03-28 12:46:38 -04:00
Keith Packard a095a6d4e8 Merge remote-tracking branch 'airlied/pwin-cleanup' 2011-03-27 20:06:29 -07:00
Keith Packard a22486f848 Merge remote-tracking branch 'whot/for-keith' 2011-03-27 18:27:10 -07:00
Dave Airlie eb9266c717 consolidate SetRootClip (v2)
each DDX has its own copy, I've taken the darwin one,
though I'm not sure why it needs the pOldClip piece that nobody
else has and the commit msg is like an "Updates from magic land"
type message.

This removes the main uses of pWin->winSize from the DDXen.

v2: drop old clip like ajax suggests.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
2011-03-28 10:06:32 +10:00
Simon Thum 633b81e8ba xserver: remove AbsoluteClassRec keeping the ABI
This removes the struct, but keeps InitAbsoluteClassDeviceStruct as
a no-op and preserves related struct layout.

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>
2011-03-24 09:52:51 +10:00
Simon Thum 9eaecb1bfe xquartz: simplify ChangeDeviceControl
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>
2011-03-24 09:52:12 +10:00
Jeremy Huddleston cb5d4b416a XQuartz: applewm: Don't check if requested window level is < 0 because it is unsigned (-Wtautological-compare)
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-03-23 12:10:15 -07:00
Jeremy Huddleston c116e32dc2 XQuartz: Put ifdef guards around have_depth label (-Wunused-label)
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-03-23 12:07:36 -07:00
Jeremy Huddleston 1a583f7940 XQuartz: Properly comment extra tokens (-Wextra-tokens) after endif
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-03-23 12:05:05 -07:00
Jeremy Huddleston 69a9171dbb XQuartz: pbproxy: Protect against possible collision between Cocoa and X11 Cursor types
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-03-01 20:02:46 -08:00
Jeremy Huddleston 0343aed1f0 XQuartz: Don't use deprecated CoreGraphics API on SL and Lion
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-02-27 16:19:50 -08:00
Jeremy Huddleston 8cf3348e90 XQuartz: RandR: Add RandR modes for the primary display in multi-monitor configs
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>
2011-02-27 15:46:22 -08:00
Jeremy Huddleston 968652983f XQuartz: RandR: Provide an alert box when entering a RandR mode for the first time.
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-02-27 15:46:22 -08:00
Jeremy Huddleston 13578b852b XQuartz: RandR: Capture the display when switching modes with RandR
This will prevent native windows from resizing as we change resolutions.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-02-27 15:46:22 -08:00
Jeremy Huddleston b17fc99cb9 XQuartz: Localization Updates
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-02-24 19:24:35 -08:00
Jeremy Huddleston 59850630fe XQuartz: Add LSApplicationCategoryType key to Info.plist
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-02-24 19:18:35 -08:00
Jeremy Huddleston 8c1f75a1d4 XQuartz: Localization Updates
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-01-28 21:13:38 -08:00
Jeremy Huddleston effaf9459c XQuartz: Use the default signal handler
This allows better interaction with CrashTracer

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-01-23 22:39:44 -08:00
Jeremy Huddleston 418bb57a39 XQuartz: Call RRScreenSizeNotify after handling externally-generated XP_EVENT_DISPLAY_CHANGED
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>
2011-01-23 22:39:14 -08:00
Jeremy Huddleston 6f52b10b9e XQuartz: Bump version string to 2.6.1
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-01-23 22:38:47 -08:00
Jeremy Huddleston 1cfb96dd61 XQuartz: Update copyright dates in bundle's plist
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-01-23 22:38:46 -08:00
Gaetan Nadon 65ceaadbf0 Xquartz: rename man page directory from doc to man
Following the convention makes it easier to locate man pages,
user's or developer's documentation and specifications.

Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Rémi Cardona <remi@gentoo.org>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
2011-01-18 15:11:18 -08:00
Gaetan Nadon 885a333009 man: refactor common code in the man pages makefiles
Create a manpages.am makefile snippet in the root dir.
Each man page makefile includes manpages.am.

Now all man pages in xserver are generated the same way
using the same method as all of other xorg modules.
All ".man.pre" files in git are ".man" now.
Links are no longer created between different file types.

Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Rémi Cardona <remi@gentoo.org>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
2011-01-18 15:11:10 -08:00
Gaetan Nadon 57ca20d266 Xquartz: strip the man page code from cpprules.in
This is dead code which will not be used in the future.

Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Rémi Cardona <remi@gentoo.org>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
2011-01-18 15:10:13 -08:00
Gaetan Nadon c06c46acdc Xquartz: build Xquartz man pages using XORG_MANPAGE_SECTIONS
Nothing requires the use of a C preprocessor
Using standard file extensions (.man)
Use standard directory and makefile

Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Rémi Cardona <remi@gentoo.org>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
2011-01-18 15:10:08 -08:00
Jeremy Huddleston f641e4b34a XQuartz GL: Add $(GL_CFLAGS) to CFLAGS
This fixes a build failure I found on tinderbox.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-12-08 22:58:12 -08:00
Jeremy Huddleston 883039e07b XQuartz: Just NSBeep() for XBell()
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>
2010-12-08 13:57:19 -08:00
Jeremy Huddleston 714b68d9e5 XQuartz: RandR: Fix mode changing for multi-monitor configurations.
This just fixes the regression whereby we couldn't switch between the legacy
fullscreen mode and rootless on multi-monitor configurations.  This was
happening because ref wasn't being set in these cases (since we don't ever
actually change CG modes), so we failed a CFEqual.  Setting the references
fixes this regression and places us one step closer to more mode RandR
mode switching in multi-monitor configurations.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-12-03 17:30:53 -08:00
Jeremy Huddleston 14f00449eb XQuartz: Cleanup some compiler warnings
Mark __crashreporter_info__ as __attribute__((__used__))

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-12-03 16:46:45 -08:00
Jeremy Huddleston 14aec8b82a XQuartz: Remove one more backing store leftover
See: c4c4676e68

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-12-03 16:46:44 -08:00
Jeremy Huddleston ca431371a2 XQuartz: Disable the Mac OS X screensaver when in full screen mode
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-12-03 16:23:04 -08:00
Adam Jackson c4c4676e68 dix: Remove the backing store leftovers
Reviewed-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2010-11-30 13:46:08 -05:00
Adam Jackson a80780a763 glx: Remove swap barrier and hyperpipe support
Never implemented in any open source driver.  The implementation
assumed explicit DDX driver knowledge of how the client-side driver
worked, since at the time the server's GL renderer was not a DRI driver.
But now, it is, so any implementation of these should be done with
additional DRI driver API, like the swap control extension.

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2010-11-30 12:54:47 -05:00
Jeremy Huddleston e074f745a8 XQuartz: Remove unused CloseInputDevice stub
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-11-24 01:47:16 -05:00
Jeremy Huddleston 97b9bb1e2c XQuartz: Localization Updates
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-11-22 20:44:11 -08:00
Jeremy Huddleston f9fbafa1a0 XQuartz: Remove existing localization files on install to avoid conflicts
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-11-22 20:44:11 -08:00
Jeremy Huddleston 6eed13ad59 XQuartz dri: Don't check CoreGraphics version
The version check is hackish, and I highly doubt anyone using this code is on
a version of OS X that predates this support (10.2 has support for it).

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-11-22 20:27:23 -08:00
Jeremy Huddleston a4698754c1 XQuartz: Add pointer debugging
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-11-22 19:14:51 -08:00
Jeremy Huddleston c5975722a9 XQuartz: Fix make distcheck
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Cyril Brulebois <kibi@debian.org>
2010-11-14 10:25:58 -08:00
Jeremy Huddleston 965e709f2b XQuartz: Build-fixes for XQuartz for recent input API changes
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-11-12 11:49:49 +10:00
Chase Douglas 65c0fc81eb Add support for per-axis valuator modes (Relative/Absolute)
The XI2 protocol supports per-axis modes, but the server so far does
not. This change adds support in the server.

A complication is the fact that XI1 does not support per-axis modes.
The solution provided here is to set a per-device mode that defines the
mode of at least the first two valuators (X and Y). Note that initializing
the first two axes to a different mode than the device mode will fail.

For XI1 events, any axes following the first two that have the same mode
will be sent to clients, up to the first axis that has a different mode.
Thus, if a device has relative, then absolute, then relative mode axes,
only the first block of relative axes will be sent over XI1.

Since the XI2 protocol supports per-axis modes, all axes are sent to the
client.

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
2010-10-22 13:37:57 +10:00
Peter Hutterer 675f4a8525 Abstract valuator masks through a set of APIs.
This commit introduces an abstraction API for handling masked valuators. The
intent is that drivers just allocate a mask, set the data and pass the mask
to the server. The actual storage type of the mask is hidden from the
drivers.

The new calls for drivers are:
    valuator_mask_new()     /* to allocate a valuator mask */
    valuator_mask_zero()    /* to reset a mask to zero */
    valuator_mask_set()     /* to set a valuator value */

The new interface to the server is
    xf86PostMotionEventM()
    xf86PostButtonEventM()
    xf86PostKeyboardEventM()
    xf86PostProximityEventM()

all taking a mask instead of the valuator array.

The ValuatorMask is currently defined for MAX_VALUATORS fixed size due to
memory allocation restrictions in SIGIO handlers.

For easier review, a lot of the code still uses separate valuator arrays.
This will be fixed in a later patch.

This patch was initially written by Chase Douglas.

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
2010-10-22 11:02:48 +10:00
Peter Hutterer eaf0b6a4d8 Merge branch 'master' into input-api
Conflicts:
	config/udev.c
	hw/xfree86/common/xf86Helper.c
	hw/xfree86/common/xf86Module.h
	hw/xfree86/common/xf86Xinput.h
	hw/xfree86/os-support/linux/lnx_init.c

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-10-15 13:46:59 +10:00
Jeremy Huddleston c45bea0c04 XQuartz: RandR: Refactor legacy mode-switching to be better integrated with RandR
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>
2010-09-28 10:09:11 -07:00
Jeremy Huddleston 229323a19b XQuartz: RandR: Don't change the rootless preference when changing RandR mode
Also renames a bunch of other variables for better consistency.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-09-28 09:50:35 -07:00
Jeremy Huddleston 721edc69c3 XQuartz: RandR: Better handle switching betwen RandR modes that share CG modes
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-09-28 09:50:35 -07:00
Jeremy Huddleston 026a47e212 XQuartz: RandR: Respond better to resolution changes made outside X
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-09-28 09:50:34 -07:00
Jeremy Huddleston 59cd93f48a XQuartz: RandR: Use deprecated CG APIs only on Leopard and earlier
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-09-28 09:50:34 -07:00
Jan Hauffa 629c3f473b XQuartz: RandR: Remove FAKE_RANDR code.
Signed-off-by: Jan Hauffa <hauffa@in.tum.de>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-09-28 09:50:34 -07:00
Jan Hauffa 97b5f53064 XQuartz: RandR: Toggle rootless mode on XRandR mode switch.
Report a fake screen mode that corresponds to the screen mode at startup of the
server excluding the height of the menu bar. If a client requests this mode,
rootless mode is enabled. In all other modes, the root window is shown.

Signed-off-by: Jan Hauffa <hauffa@in.tum.de>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-09-28 09:50:34 -07:00
Jan Hauffa 2d411472c2 XQuartz: RandR: Implement basic RandR functionality.
Querying and changing of resolution and refresh rate is supported,
rotation is not implemented yet.

Signed-off-by: Jan Hauffa <hauffa@in.tum.de>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-09-28 09:50:34 -07:00
Jeremy Huddleston f492670948 XQuartz: Move use of static dispatch procs after declaration
This fixes fallout from cbd4d5dbb7

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-09-28 09:50:34 -07:00
Tiago Vignatti cbd4d5dbb7 xserver: delete pervasively use of DISPATCH_PROC
Some functions had to be moved around due some missing static definitions.
Another minor clean up like inexistent function declarations and etc were made
also.

Part of this patch was cooked using:
sed -i -e '/static DISPATCH_PROC*.*;/d' `git ls-files`

Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
2010-09-28 16:45:05 +03:00
Jamey Sharp 2079853632 rootless: Delete dead remnants of rootless acceleration.
Jeremy deleted rootlessAccelInit's implementation in 2008 in commit
587c010a1c. Delete its prototype and the
remaining commented-out call to it.

It still makes sense for the rootless GC ops to relax the planemask, but
that's independent of the size of the operation, so quit checking the
thresholds there.

FillBytes and CompositePixels are not called anywhere, so delete
everything related to both.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Cc: Jeremy Huddleston <jeremyhu@apple.com>
Cc: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-09-13 15:58:08 -07:00
Jamey Sharp 34d6492436 xquartz: Delete compile-time-constant DRIGCRec.driOps field.
The driOps field of this structure is never set to anything but
&driGCOps, and this structure is not visible outside this source file.
Just use the constant in the one place the field was used.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Cc: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-09-13 15:55:17 -07:00
Jeremy Huddleston 0a3e6b0345 XQuartz: Localization updates
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-09-11 14:25:21 -07:00
Peter Hutterer 4ac3be29bc input: Purge AddOtherInputDevices DDX hook.
This hook wasn't used by any DDX. Device addition and removal is handled by
the config backend, so we don't need to do anything special that during the
ListInputDevices request processing.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2010-09-01 15:26:52 +10:00
Peter Hutterer cb672a461c input: remove OpenInputDevice and CloseInputDevice DDX hooks.
In theory, these hooks were to be used for DDX-specific device enablement.
None of the DDXs however did anything here. Now we call DEVICE_INIT on all
devices when they are added, so the xfree86 DDX as the only one with real
code didn't do anything here.

kdrive checked for device validity but that's already handled in
ProcXOpenDevice.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2010-09-01 15:26:51 +10:00
Peter Hutterer 0fb7a5c261 input: Purge Register*Device() functions.
RegisterPointerDevice() and RegisterKeyboardDevice() were already mapped to
RegisterOtherDevice() and obsolete.

RegisterOtherDevice() was called for all devices and the two assignments can
simply be moved into AddInputDevice(). Purge RegisterOtherDevice() and
pretend it never happened.

*lalalalala*

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2010-09-01 15:26:47 +10:00
Matt Turner 08adf41f63 Replace malloc/strlen/strcpy with strdup.
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Matt Turner <mattst88@gmail.com>
2010-08-27 19:05:48 -04:00
Jeremy Huddleston 5d1d9d9ae3 XQuartz: xpr: Bail on errors during unlock and destroy
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-08-12 20:26:36 -10:00
Jeremy Huddleston ee7fd8fc58 XQuartz: UpdateScreen at the end of SetRootless
This will ensure that pRoot is unlocked after the miPaintWindow

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-08-12 20:26:36 -10:00
Jeremy Huddleston 4fc4cab98d XQuartz: Make application switching work better for the no-spaces case
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>
2010-08-12 20:26:36 -10:00
Jeremy Huddleston e5bc62a032 XQuartz: Ignore kXquartzToggleFullscreen when rootless
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-08-12 20:26:36 -10:00
Jeremy Huddleston 750d4e82a0 XQuartz: xpbproxy: Don't take down the whole server on an IO error
Calls pthread_exit to prevent _XIOError from calling exit()

This fixes http://xquartz.macosforge.org/trac/ticket/421

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-07-29 11:41:32 -07:00
Jeremy Huddleston 98f90145d7 XQuartz: GLX: Don't mangle __GLXDrawable's pDraw
We were incorrectly NULLing out pDraw in __GLXDrawable instead of ours in
__GLXAquaDrawable. (we should refactor to eliminate this redundancy later)

This was causing http://xquartz.macosforge.org/trac/ticket/426
This was benign until commit f0006aa58f
The root cause of this change was  fed7ccc481ad1caaa518cafe944c2327a5d0b6c65

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-07-28 18:11:38 -07:00
Jeremy Huddleston 9d8ec712a6 XQuartz: Bump bundle version to 2.6.0 for xorg-server-1.9.0 and X11R7.6
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-07-13 08:56:36 -07:00
Jan Hauffa b2b9c458a4 XQuartz: Remove some dead code.
Signed-off-by: Jan Hauffa <hauffa@in.tum.de>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-07-13 08:27:36 -07:00
Jeremy Huddleston 648d189548 XQuartz: Avoid a crash when mistakenly free()ing in QuartzSetCursor on some configs
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-07-13 08:27:36 -07:00
Mikhail Gusarov 416d228481 xquartz: Get rid of xstrdup when argument is definitely non-NULL
ditto for XQuartz

Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2010-06-11 19:04:23 +07:00
Keith Packard 84190d2095 Merge remote branch 'jeremyhu/master' 2010-06-10 13:36:35 -07:00
Mikhail Gusarov 7287ef9e6c Remove unnecessary parentheses around return values in functions
This patch was generated by the following Perl code:

perl -i -pe 's/([^_])return\s*\(\s*([^(]+?)\s*\)s*;(\s+(\n))?/$1return $2;$4/g;'

Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-06-10 06:42:42 -07:00
Jeremy Huddleston 5e1ef1f4dd XQuartz: Add more sanity checking around string manipulation for xmodmap
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-06-08 13:01:10 -07:00
Jeremy Huddleston 0be81f9a16 XQuartz: Fix build regression from faeebead7b
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-06-08 12:20:25 -07:00
Keith Packard faeebead7b Change the devPrivates API to require dixRegisterPrivateKey
This patch only changes the API, not the implementation of the
devPrivates infrastructure. This will permit a new devPrivates
implementation to be layed into the server without requiring
simultaneous changes in every devPrivates user.

Signed-off-by: Keith Packard <keithp@keithp.com>
Tested-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2010-06-05 19:23:03 -07:00
Keith Packard 2dc138922b Rename region macros to eliminate screen argument
This is a combination of a huge mechanical patch and a few small
fixups required to finish the job. They were reviewed separately, but
because the server does not build without both pieces, I've merged
them together at this time.

The mechanical changes were performed by running the included
'fix-region' script over the whole tree:

$ git ls-files | grep -v '^fix-' | xargs ./fix-region

And then, the white space errors in the resulting patch were fixed
using the provided fix-patch-whitespace script.

$ sh ./fix-patch-whitespace

Thanks to Jamey Sharp for the mighty fine sed-generating sed script.

The hand-done changes involve removing functions from dix/region.c
that duplicate inline functions in include/regionstr.h, along with
their declarations in regionstr.h, mi.h and mispans.h.

Reviewed-by: Jamey Sharp <jamey@minilop.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-06-05 18:59:00 -07:00
Jamey Sharp a83cff9f4d Move each screen's x/y origin into ScreenRec.
Many references to the dixScreenOrigins array already had the
corresponding screen pointer handy, which meant they usually looked like
"dixScreenOrigins[pScreen->myNum]". Adding a field to ScreenRec instead
of keeping this information in a parallel array simplifies those
expressions, and eliminates a MAXSCREENS-sized array.

Since dix declared the dixScreenOrigins array, I figure allocating a
screen private for these values is overkill.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Tested-by: Tiago Vignatti <tiago.vignatti@nokia.com> (i686 GNU/Linux)
2010-06-03 14:03:23 -07:00
Jamey Sharp 217ccaa5a3 Delete panoramiXdataPtr: it's redundant.
This eliminates a dynamically-allocated MAXSCREENS-sized array.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Tested-by: Tiago Vignatti <tiago.vignatti@nokia.com> (i686 GNU/Linux)
2010-06-03 14:03:23 -07:00
Jamey Sharp e7fae9ecc4 Move each screen's root-window pointer into ScreenRec.
Many references to the WindowTable array already had the corresponding
screen pointer handy, which meant they usually looked like
"WindowTable[pScreen->myNum]". Adding a field to ScreenRec instead of
keeping this information in a parallel array simplifies those
expressions, and eliminates a MAXSCREENS-sized array.

Since dix uses this data, a screen private entry isn't appropriate.

xf86-video-dummy currently uses WindowTable, so it needs to be updated
to reflect this change.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Tested-by: Tiago Vignatti <tiago.vignatti@nokia.com> (i686 GNU/Linux)
2010-06-03 14:03:23 -07:00
Keith Packard 4e9d3e4132 Revert "Add a "flags" field to DeleteInputDeviceRequest."
Peter wants to get a larger patch sequence put together and I didn't
read past the commit message to see the 'don't take this patch
please'.

This reverts commit 531ff40301.
2010-05-26 07:54:35 -07:00
Peter Hutterer 531ff40301 Add a "flags" field to DeleteInputDeviceRequest.
Some input drivers need to implement an internal hotplugging scheme for
dependent devices to provide multiple X devices off one kernel device file.
Such dependent devices can be added with NewInputDeviceRequest() but they are
not removed when the config backend calls DeleteInputDeviceRequest(),
leaving the original device to clean up.

Example of the wacom driver:

config/udev calls NewInputDeviceRequest("stylus")

wacom PreInit calls
        NewInputDeviceRequest("eraser")
        NewInputDeviceRequest("pad")
        NewInputDeviceRequest("cursor")
        PreInit finishes.

When the device is removed, the config backend only calls
DeleteInputDeviceRequest for "stylus". The driver needs to call
DeleteInputDeviceRequest for the dependent devices eraser, pad and cursor to
clean up properly.
However, when the server terminates, DeleteInputDeviceRequest is called for
all devices - the driver must not remove the dependent devices to avoid
double-frees. There is no method for the driver to detect why a device is
being removed, leading to elaborate guesswork and some amount of wishful
thinking.

Though the input driver's UnInit already supports flags, they are unused.
This patch uses the flags to supply information where the
DeleteInputDeviceRequest request originates from, allowing a driver to
selectively call DeleteInputDeviceRequest when necessary.

Also bumps XINPUT ABI.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-05-25 17:47:32 -07:00
Jamey Sharp 8033fb6c97 Set event sequence number in WriteEventsToClient instead of at callers.
TryClientEvents already did this; this commit just moves the assignment
one level down so that no event source has to worry about sequence
numbers.

...No event source, that is, except XKB, which inexplicably calls
WriteToClient directly for several events.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
2010-05-19 12:32:34 -07:00
Jamey Sharp 4b9600a416 Make WriteEventsToClient/WriteToClient no-op on fake or dead clients.
This matches the test in TryClientEvents, and is a superset of tests
done by the callers of these functions. The consequence of forgetting
these tests is a server crash, so they're always desirable. In my
opinion, it's better to not require the callers to remember to do these
checks.

For callers that don't do very much work before calling WriteToClient or
WriteEventsToClient, I've removed the redundant checks.

hw/xquartz/xpr/appledri.c has an interesting case: While its check for
"client == NULL" appears redundant with the test in WriteEventsToClient,
it dereferences client to get the sequence number.

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=27497
Signed-off-by: Jamey Sharp <jamey@minilop.net>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
2010-05-19 12:32:34 -07:00
Jeremy Huddleston 37f0b45dbe XQuartz: Fix a build failure on Tiger
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-05-16 13:12:31 -07:00
Jeremy Huddleston ecfeabec8d XQuartz: Don't use deltaXY for determining pointer location on scroll events
<rdar://problem/7989690>

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Edward Moy <emoy@apple.com>
2010-05-16 13:12:26 -07:00
Jeremy Huddleston a911292c85 XQuartz: Don't trust deltaXY for middle mouse clicks.
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>
2010-05-16 13:12:15 -07:00
Oliver McFadden a4fbc0feda scrnintstr.h: removed unused PaintWindow function pointers.
Please note this patch breaks the ABI.

Signed-off-by: Oliver McFadden <oliver.mcfadden@nokia.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
2010-05-14 08:27:10 +03:00
Jamey Sharp 92ed75ac59 Eliminate boilerplate around client->noClientException.
Just let Dispatch() check for a noClientException, rather than making
every single dispatch procedure take care of it.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2010-05-13 17:14:07 -07:00
Mikhail Gusarov 3f3ff971ec Replace X-allocation functions with their C89 counterparts
The only remaining X-functions used in server are XNF*, the rest is converted to
plain alloc/calloc/realloc/free/strdup.

X* functions are still exported from server and x* macros are still defined in
header file, so both ABI and API are not affected by this change.

Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-05-13 00:22:37 +07:00
Jeremy Huddleston ba1f1f9d9e XQuartz GL: Fix __glXAquaScreenCreateDrawable prototype
Fixes regression introduced in 9de0e31746

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-05-11 10:46:41 -07:00
Julien Cristau 72758287f7 XQuartz: add new localization files to EXTRA_DIST
commit 206531f75c added localization files
for ar, add them to the Makefile.

Signed-off-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-05-04 13:08:16 -07:00
Jeremy Huddleston 0efd7b8d82 XQuartz GLX: Change around includes for better compatability with different OS versions
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-05-02 15:27:29 -07:00
Oliver McFadden 048d15192a x-list.c: null-returning function malloc() was called without checking
Signed-off-by: Oliver McFadden <oliver.mcfadden@nokia.com>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-05-02 15:27:29 -07:00
Keith Packard 28b7b2b8d0 unifdef -B -DRENDER to always include RENDER code
This patch was created with:

git ls-files '*.[ch]' | while read f; do unifdef -B -DRENDER -o $f $f; done

Signed-off-by: Keith Packard <keithp@keithp.com>
2010-04-19 09:26:10 -07:00
Jeremy Huddleston 5b0faf3554 XQuartz GLX: Don't let garbage enter our pixel request
https://bugs.freedesktop.org/show_bug.cgi?id=27654

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-04-15 10:57:04 -07:00
Jeremy Huddleston 206531f75c XQuartz: Localization update
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-04-15 10:57:03 -07:00
Jeremy Huddleston 59edde7c28 XQuartz: Add a GUI preference for the Alt / Mode_switch toggle
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Kevin Van Vechten <kvv@apple.com>
2010-04-11 16:30:25 -07:00
Jeremy Huddleston 5600f7f001 XQuartz: Customize the NSDefaults id in the man file.
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Kevin Van Vechten <kvv@apple.com>
2010-04-11 16:30:22 -07:00
Jeremy Huddleston 840d12c7a6 XQuartz: Add a defaults option to toggle Alt / Mode_switch
See option_sends_alt in Xquartz(1)

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Kevin Van Vechten <kvv@apple.com>
2010-04-11 16:30:19 -07:00
Jeremy Huddleston d6f160510a XQuartz: Blacklist some oddball legacy Mac keycodes that break wine
http://xquartz.macosforge.org/trac/ticket/295

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Kevin Van Vechten <kvv@apple.com>
2010-04-11 16:30:14 -07:00
Jeremy Huddleston 02328f190f Bump bundle version to 2.5.1
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-04-01 18:22:32 -07:00
Jeremy Huddleston 0e342add77 darwin: Correct inline assembly for ___crashreporter_info__
It was missing an underscore.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-04-01 15:32:51 -07:00
Jeremy Huddleston 28a5f14b40 XQuartz: Re-query dixScreenOrigins as the value could've changed.
Fix a regression in 9c9c3a85b0

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Acked-by: Adam Jackson <ajax@redhat.com>
2010-03-29 09:37:19 -07:00
Jeremy Huddleston 436d0bb9cc darwin: Generate crash reports on FatalError()
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Acked-by: Adam Jackson <ajax@redhat.com>
2010-03-29 09:37:17 -07:00
Jeremy Huddleston 339207be6f XQuartz: Workaround weird key data reported on some layouts
This should make 'Unicode Hex Input' work as an input layout.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Acked-by: Adam Jackson <ajax@redhat.com>
2010-03-29 09:37:10 -07:00
Keith Packard b29220dc76 Merge remote branch 'jeremyhu/master' 2010-03-21 23:01:58 -07:00
Yaakov Selkowitz 0820a6e2fb Fix .man.N targets for AM_SILENT_RULES
Add $(AM_V_GEN) for sed-based rules so they appear as expected with
automake silent rules, and $(AM_V_at) to completely hide cp/ln/rm
commands which are not prone to fail.

Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@sun.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2010-03-22 00:45:55 -05:00
Jeremy Huddleston ed31d50b5f XQuartz: Constrain the pointer to the updated display bounds on display reconfigure.
http://xquartz.macosforge.org/trac/ticket/346
2010-03-21 21:56:39 -07:00
Jeremy Huddleston 927480be12 XQuartz: pbproxy: Make standalone xpbproxy respect the launchd prefix
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2010-03-21 21:56:39 -07:00
Jeremy Huddleston d16bc8a3cd XQuartz: xpbproxy: Cleanup xpbproxy threading
Confine xpbproxy to a single thread
Runs inside its own CFRunLoop

Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2010-03-21 21:56:39 -07:00
Jeremy Huddleston 9c9c3a85b0 XQuartz: Minor cleanup
Move RandRInit to where it will need to be (not yet implemented)

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-03-21 21:56:39 -07:00
Jeremy Huddleston bb75d0df8b XQuartz: GLX: Fix Availability for Tiger ppc workaround
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2010-03-21 21:56:39 -07:00
Jeremy Huddleston eac7cdabec Revert "XQuartz: Explicitly pass a bellProc to make XBell() work again."
I'm not quite sure why this was necessary, but DDXRingBell is being called
from CoreKeyboardBell, so we don't need a separate bellProc which would
result in multiple rings.

This reverts commit 9071b0d697.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-03-21 21:56:39 -07:00
Keith Packard df9b6f16b2 Merge remote branch 'jeremyhu/master' 2010-03-15 08:26:58 -07:00
Gaetan Nadon 5f169f5493 XQuartz: remove undefined XSERVER_CFLAGS variable
This is a variable local to configure.ac which is not AC_SUBST()
It is undefined in any generated Makefile.

Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-03-15 08:24:02 -07:00
Jeremy Huddleston 5172253bae XQuartz: Use an empty xkb keymap by default
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-03-11 22:27:38 -08:00
Jeremy Huddleston b117bc7a44 XQuartz: Include os.h for OsAbort()
Fixes regression from 5b9a52be7e

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-03-11 22:27:38 -08:00
Jeremy Huddleston b7a16117c6 XQuartz: GLX: Fix prototype for swapBuffers
This was a regression introduced by 04a54f69a8

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-03-11 22:27:37 -08:00
Rami Ylimaki 5b9a52be7e os: Prevent core dump from being truncated.
The problem fixed by this patch can be reproduced on Linux with the
following steps.
- Access NULL pointer intentionally in ProcessOtherEvent on key press.
- Instead of saving core dump to a file, write it into a pipe.
  echo "|/usr/sbin/my-core-dumper" > /proc/sys/kernel/core_pattern
- Dump the core by pressing a key.

While the core is being dumped into the pipe, the smart schedule timer
will cause a pending SIGALRM. Linux kernel stops writing data to the
pipe when there are pending signals. This causes the core dump to be
truncated. On my system I'm expecting a 6 MB dump but the size will be
60 kB instead. The problem is solved if we block the SIGALRM caused by
expired smart schedule timer.

I haven't been able to reproduce this problem in the following cases.
- Save core dump to a file instead of a pipe.
- kill -SEGV `pidof Xorg`
- Press a key to dump core while gdb is attached to Xorg.
- Give option -dumbSched to Xorg.

Also note that the fix works only when NoTrapSignals has the default
value FALSE. The problem can still be reproduced if error signals
aren't trapped. In addition to pending SIGALRM, there is a similar
problem with pending SIGIO from the keyboard driver during core dump.

Signed-off-by: Rami Ylimaki <ext-rami.ylimaki@nokia.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-02-17 23:20:52 -08:00
Jeremy Huddleston 4e8bf12b13 XQuartz: Fix a possible buffer overrun in quartzAudio
Also dropped deprecated API while there

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-02-15 16:46:21 -08:00
Jeremy Huddleston 4127e8e5be XQuartz: clang static analysis fixes
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-02-15 15:03:49 -08:00
Jeremy Huddleston c686c5cbdc XQuartz: Fix linking (CloseInput())
Fixes regresison from d33adcdf03

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-02-15 15:03:49 -08:00
Jeremy Huddleston 52456c602c XQuartz: Attatch a stub display when CoreGraphics reports no displays.
This is half of the required changes to address the "stuck mouse pointer"
bug that occurs when X11 launches while the displays are asleep.  The
remainder of the fix is part of libXplugin which needs to be updated to
send XP_EVENT_DISPLAY_CHANGED when the display wakes up.  If you don't
have a recent enough libXplugin (expected in 2.5.0_beta2 or later), you
can cause this event to be sent by changing your display resolution (or
you could just start X11.app with your screens awake).

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-01-30 14:49:02 -08:00
Jeremy Huddleston 15f4bb6dc6 XQuartz: Dead code removal
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-01-30 14:30:40 -08:00
Jeremy Huddleston 7ba5de6e9e XQuartz: Add some .gitignore magic
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2010-01-30 10:55:38 -08:00
Jeremy Huddleston 6f6a99abc1 XQuartz: Don't FatalError in x_hook_run if the list is empty
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2010-01-13 14:39:54 -08:00
Jeremy Huddleston 6bde306f7f XQuartz: Update copyright in bundle for 2010
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2010-01-13 11:21:28 -08:00
Jeremy Huddleston 6008cc1164 XQuartz: Setup the modifier map in the quartz thread
This avoids possible doing it twice which could result in incorrect
keycodes for alt due to our loss of information about its side.

Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2010-01-13 11:21:28 -08:00
Dan Nicholson 0711598dd3 config: Introduce InputAttributes in NewInputDeviceRequest
In order to give NewInputDeviceRequest more information, a new
InputAttributes type is introduced. Currently, this collects the product
and vendor name, device path, and sets booleans for attributes such as
having keys and/or a pointer. Only the HAL backend fills in the
attributes, though.

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
2009-12-22 23:24:13 -08:00
Alan Coopersmith 895f40792a Add type name argument to CreateNewResourceType
Convert all calls of CreateNewResourceType to pass name argument

Breaks DIX ABI.

ABI versions bumped:

Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2009-12-18 17:44:12 -08:00
Alan Coopersmith a11c58fa0c Ensure all resource types created have names registered
Calls RegisterResourceName to record the type name for
use by X-Resource, XACE/SELinux/XTsol, and DTrace.

Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
2009-12-18 16:51:45 -08:00
Alan Coopersmith eb750f8b5e Check for failures from CreateNewResourceType
Make sure to check return value before setting bitmask flags.
For most calls, just fails to init the extension.   Since Xinput
already calls FatalError() on initialization failure, so does
failure to allocate Xinput's resource type.

Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
2009-12-18 16:51:45 -08:00
Jeremy Huddleston 97a6454ea5 XQuartz: pbproxy: Fix building of standalone xpbproxy executable
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2009-12-09 18:27:31 -08:00
Jeremy Huddleston 1b8f90aa8b Miscellaneous compilation warning fixes
main.c:134: warning: no previous prototype for 'dix_main'
rootlessScreen.c: In function 'RootlessMarkOverlappedWindows':
rootlessScreen.c:434: warning: function declaration isn't a prototype
backtrace.c:51: warning: format '%lx' expects type 'long unsigned int', but argument 5 has type 'int'
backtrace.c:54: warning: format '%lx' expects type 'long unsigned int', but argument 5 has type 'int'
set.c: In function 'RecordSetMemoryRequirements':
set.c:413: warning: old-style function definition
set.c: In function 'RecordCreateSet':
set.c:425: warning: old-style function definition
stub.c: In function ‘main’:
stub.c:236: warning: ISO C90 forbids mixed declarations and code

Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2009-12-08 15:50:28 -08:00
Jeremy Huddleston f4fc340672 XQuartz: Drop calls to alloca
This makes us more consistent with the rest of the codebase, using xalloc/xfree

Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
2009-11-30 17:06:58 -08:00
Jeremy Huddleston 4677b5a800 XQuartz: Allow better compatability with older versions of xinit
If we are id="org.x" and the launchd socket is ":0", we will claim
the socket to match the old behavior before we prefixed the
socket name with our id.

Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2009-11-23 18:00:31 -08:00
Gaetan Nadon c739beb439 .gitignore: use common defaults with custom section #24239
Using common defaults will reduce errors and maintenance.
Only the very small or inexistent custom section need periodic maintenance
when the structure of the component changes. Do not edit defaults.

Reviewed-By: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2009-11-11 21:40:20 -08:00
Jeremy Huddleston 9071b0d697 XQuartz: Explicitly pass a bellProc to make XBell() work again.
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2009-11-11 18:00:19 -08:00
Jeremy Huddleston e87a03fd53 XQuartz: pbproxy: Wait for the server to finish starting up, so display is valid.
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2009-11-11 18:00:19 -08:00
Jeremy Huddleston 15fc56addc XQuartz: Buildfix for Leopard and older
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2009-11-11 18:00:19 -08:00
Jeremy Huddleston 840a68dc5e XQuartz: Cleanup X11Controller.m compilation warnings.
Declare X11Controller as implementing NSTableViewDataSource.
Use selectRowIndexes:byExtendingSelection instead of selectRow:byExtendingSelection

Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2009-11-05 18:34:50 -08:00
Jeremy Huddleston 0e3ad44c3b XQuartz: Use dixLookupResourceByType instead of LookupIDByType
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2009-11-05 18:34:50 -08:00
Jeremy Huddleston 069fc6ce0a XQuartz: Don't weed out duplicates in generated keymap
There seems to be an issue in the 1.5+ server where shift-space does not
produce a space when 'keycode 57 = space' but it does when 'keycode 57 = space
space'

Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2009-11-05 18:34:50 -08:00
Jeremy Huddleston 6d6e8fb27f XQuartz: Controller thread launches clients
This avoids a memory leak due to no active auto-release pool on the server thread.

Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2009-11-05 18:34:50 -08:00
Jeremy Huddleston 5e79976c13 XQuartz: Run xmodmap after programatically updating the keymap.
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
Signed-off-by: Martin Otte <otte@duke.edu>
2009-11-03 16:35:27 -08:00
Jeremy Huddleston 5b91dfac6f Rootless: Abstract some of the Xplugin specific stuff which has crept into rootlessWindow.c
The rootless extension now directly calls some Xplugin functions, and relies
on types defined in Xplugin.h, which isn't very abstracted :-)

This patch is a start at abstracting some of the Xplugin specific stuff which
has crept into rootlessWindow.c.  This has been done in a pretty mindless fashion,
without much thought as to if the additions to the generic rootless interface are
the correct ones

There is some confusion as to if RootlesscolormapCallback() returns a Bool or
xp_error_enum value (not so abstact), but I have no way of checking, of finding
out if Xplugin actually checks the result :-)

Based on patches from Colin Harrison, Jon Turney and Yaakov Selkowitz

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
2009-10-13 13:59:57 -07:00
Jeremy Huddleston 24e640e1fa XQuartz: Fix a possible minor memory leak 2009-10-02 19:20:24 -07:00
Jeremy Huddleston c4886fbabc XQuartz: Send mouse location with scroll events.
This fixes the problem where (0, 0) was sent as the mouse location with scroll
button events causing the event to not reach the client.
2009-10-02 18:58:35 -07:00
Jeremy Huddleston 3d7cf468df XQuartz: Update version strings to be X11R7.5 and the bundle 2.5.0
Is fink really _still_ relying on this X11R7.x version string?
2009-10-01 11:58:18 -07:00
Jeremy Huddleston 873467adad XQuartz: Set the proper bitmap for key repeats...
XkbSetRepeatKeys lies and doesn't do what it says it will...
2009-09-30 00:23:47 -07:00
Jeremy Huddleston f11a356bce XQuartz: Cleaned up keymap setting for easier maintenance
(cherry picked from commit b9dfed9e88389cbd29406a20d38ee4297638649b)
2009-09-29 00:34:41 -07:00
Jeremy Huddleston f3223c71cf XQuartz: Remove the redundant xquartz_resetenv_display
unsetenv(DISPLAY) takes care of this for us anyway
(cherry picked from commit d2263645d839c9edeedea0835d26f1f41b37f70e)
2009-09-29 00:34:41 -07:00
Jeremy Huddleston 9b98b88322 XQuartz: Query the BundleIdentifier from the bundle in X11.bin rather than using the configure option.
This lets X11.bin drop into any .app ... the Info.plist and Xquartz binary need to have it hardcoded still.
(cherry picked from commit 9ad16b8e50b13eb6d0cd20386d07aa8d7320f671)
2009-09-29 00:34:41 -07:00
Jeremy Huddleston 6df00917ca XQuartz: Fix QuartzSetCursor to match the expected prototype.
(cherry picked from commit dadab5a2279a19dcf709402d7f22f0cd48670db0)
2009-09-27 23:31:41 -07:00
Jeremy Huddleston 67a51cd9ef XQuartz: Fix a bunch of compilation warnings about style
(cherry picked from commit 54000bdcbca52a2de31f7c1a1147de6d8e9dbbb8)
2009-09-27 23:31:35 -07:00
Jeremy Huddleston 96780eaf32 XQuartz: Nuke TSM
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 29cb904e4de2411a9b6dbe68694954788f0525f7)
2009-09-27 23:31:29 -07:00
Jeremy Huddleston 15e15816a2 XQuartz: Fix inverse map from mode_switch to alt
(cherry picked from commit de6cee11e1c335a0e5f708e7641e81d3cfe52529)
2009-09-27 23:31:23 -07:00
Jeremy Huddleston 558d803b29 XQuartz: Force a keymap resync on the first keypress to workaround XKB mucking with our keymap.
We need to find a better way to work with XKB on this.
(cherry picked from commit ceaa5c779ceed3de5ea53727649613be3133b24e)
2009-09-27 23:31:16 -07:00
Jeremy Huddleston 226b1033b4 XQuartz: Transition from xEvent based mieq to InternalEvent
(cherry picked from commit a3dbde2de87ee4f577748a8c447501a3ea462559)
2009-09-27 23:31:07 -07:00
Jeremy Huddleston a2cd211778 XQuartz: Stop checking version numbers of the bundle because CFBundleGetVersionNumber is gimpish
(cherry picked from commit 9f5bdd89608ec12012592ff395b82e954fbb4da8)
2009-09-26 23:45:35 -07:00
Jeremy Huddleston fbfbf93405 XQuartz: Add pressure/tilt property labels
(cherry picked from commit 84ea67130ef6b4086042aad6036ce66f93ea3e56)
2009-09-26 23:30:57 -07:00
Jeremy Huddleston 65f1484089 XQuartz: Fix a brain-o array indexing problem
/bop Peter
(cherry picked from commit 494a6b046a258ad83dc98eb92b7c3d8f1d2626bb)
2009-09-26 23:30:51 -07:00
Jeremy Huddleston 7159381881 XQuartz: Nuke duplicate locks that make painful headaches
(cherry picked from commit 1dd56322bd1722f2427fb2d833c5608248b60cf0)
2009-09-26 23:30:46 -07:00
Jeremy Huddleston dc1e1bebff XQuartz: Use internal xshm header for new xextproto
(cherry picked from commit 1755239330c0bdac820d88a3e06ff391d65f29be)
(cherry picked from commit 697be460d0e555e2c75eed6889293650e02d423c)
2009-09-26 23:30:39 -07:00
Jeremy Huddleston 33bf9cb69d XQuartz: GLX capabilities: Allow 16bit accumulation buffers
http://xquartz.macosforge.org/trac/ticket/308
(cherry picked from commit e9e63a2118b76b6c31c4081fec08a99e4d796e22)
2009-09-23 18:21:48 -07:00
Peter Hutterer 55747d256d input: define server-supported protocol versions in one single file.
include/protocol-versions.h specifies each extension version as supported by
the server and sent back on the wire to the client.

This fixes up several issues with the server potentially reporting a higher
version of the protocol if recompiled against a newer version of the
protocol.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Rémi Cardona <remi@gentoo.org>
Acked-by: Julien Cristau <jcristau@debian.org>
2009-09-21 21:47:35 +10:00
Jeremy Huddleston 422cd7a674 XQuartz: pbproxy: Remove debugging XBell()
(cherry picked from commit 1fd7c1fd4740393a32e261af33e64c19be48ca9a)
2009-09-14 14:29:50 -07:00
Jeremy Huddleston 1e0caf9a2c XQuartz: launchd: Fallback on :0 if prefix:0 gives an error for the socket name
(cherry picked from commit 647c871dc9f2d0adc172b401cde89ffbdfcc4d7a)
2009-09-06 14:06:28 -07:00
Jeremy Huddleston 081f72390a XQuartz: Fix "warning: function declaration isn’t a prototype" noise
(cherry picked from commit 9a77905a975e562daa4230739937bbb0b4caf087)
2009-09-06 14:06:16 -07:00
Jeremy Huddleston 7ece2cb220 XQuartz: pbproxy: 64bit fixes: Properly process an array of Atoms
(cherry picked from commit 1b659cda1af02762a31cc7875e457b08c8dc68b5)
2009-09-06 14:06:06 -07:00
Jeremy Huddleston 1747120043 XQuartz: Fix a strcpy/strcmp typo
(cherry picked from commit 701c24da3ef76a05ccb2d7e84ccfa1b7c5d38e15)
2009-09-05 02:53:59 -07:00
Jeremy Huddleston 1f61bbeffd XQuartz: Check the DISPLAY environment variable to see if the socket at startup is ours. If not, ignore it and fork/exec startx.
(cherry picked from commit 3d5e10cce360a04bf917227615fb9b825675124f)
2009-09-04 00:42:44 -07:00
Jeremy Huddleston 0a361d0e5f XQuartz: Use --with-launchd-id-prefix for consistency with xinit
Also actually honor LAUNCHD_ID_PREFIX and APPLE_APPLICATION_NAME
(cherry picked from commit 990038ab006b2f5e03dcef385514ba4e4584bd25)
2009-09-04 00:42:31 -07:00
Jeremy Huddleston a8e634b86d XQuartz: GLX: Drawable does not contain resize anymore.
(cherry picked from commit 1e642f22fbf029bb3917091cb5fa2f78b4a92f62)
2009-08-31 15:59:45 -07:00
Jeremy Huddleston 6f3cc08ec0 XQuartz: GL: Unset GL_EXT_gpu_program_parameters for Tiger/ppc
See http://trac.macports.org/ticket/20638
(cherry picked from commit 0f3a89d306838b3c75a73cd1e9e2928737222b70)
2009-08-31 07:45:50 -07:00
Jeremy Huddleston fdb29ebeed XQuartz: GL: Explicitly set GL_EXT symbols to 0 if they are not in OpenGL.framework to prevent X11's glext.h from setting them to 1.
(cherry picked from commit 7fe37137d826d1b698e87a5b35050dd02f0a4d4b)
2009-08-31 07:45:40 -07:00
Jeremy Huddleston af76bddd7a XQuartz: Check NSINTEGER_DEFINED to make sure the NSInteger and NSUInteger types are defined.
(cherry picked from commit 36e02a8649c0a545084cce5fb2c5717277b9273c)
2009-08-25 20:17:41 -07:00
Jeremy Huddleston 07c935b72f XQuartz: Use applewmproto 1.4 updated headers.
(cherry picked from commit 203df06c0eb2dcd5adfa788a1ba9569650c15f9c)
2009-08-25 20:16:47 -07:00
Jeremy Huddleston 931160fcf3 XQuartz: AIGLX: Provide empty __glXAquaDrawableResize to avoid crashing in DoMakeCurrent
(cherry picked from commit 60a1d2c2764f2f02c0751940a264588717afce79)
2009-08-05 16:17:47 -07:00
Jeremy Huddleston 0fe639a314 XQuartz: Only save lastpt on mouse/tablet events
(cherry picked from commit 552be074e5be6492df3e290e8b7d9daff1a2cb34)
2009-08-05 16:17:33 -07:00
Jeremy Huddleston 491c2d74c1 XQuartz: Use mouseLocation rather than locationInWindow when setting lastpt
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 65ae2d00e1a53f97f2ff9522406ab69d50bf3199)
2009-08-05 16:17:22 -07:00
Jeremy Huddleston df6c013524 XQuartz: Don't use location delta for tablets since NSEvent does not give a precise delta.
(cherry picked from commit 6c5bf756a7f5389cdfe2e43a339d7c31a3e522e9)
2009-08-05 16:17:09 -07:00
Jeremy Huddleston e360104880 XQuartz: Purge redundant QuartzBell
(cherry picked from commit de14a63d20095e1537fd74352850c734d900031d)
2009-08-05 16:17:01 -07:00
Jeremy Huddleston ae65daab08 XQuartz: Unify how we set our bitmasks for visuals
(cherry picked from commit c230b52c27ce50ac6c27011ec8e88f1b263b25f9)
2009-07-31 15:34:13 -07:00
Jeremy Huddleston 4a53fed41d XQuartz: Dead code removal for StaticColor visual
(cherry picked from commit e457a44e87950207f6c16bf82bf5af11c777ecf1)
2009-07-31 15:34:07 -07:00
Jeremy Huddleston da0a274780 XQuartz: Cleanup the bitmask setting for GLX visuals.
(cherry picked from commit d32c3df258e748958ef997c675dc4fae118c0d7b)
2009-07-31 15:34:03 -07:00
Jeremy Huddleston 70ac671af2 XQuartz: no DirectColor
(cherry picked from commit df2fbc410f2c484612f65a6539a6cb069ef4a468)
2009-07-31 15:33:58 -07:00
Jeremy Huddleston c0c72a866a XQuartz: Define DDXRingBell
(cherry picked from commit 113347381289497cb2a79994d0ef5f427ae63ac5)
2009-07-31 15:33:54 -07:00
Jeremy Huddleston a85523dc50 XQuartz: Avoid a possible spinlock in applicationWillTerminate
(cherry picked from commit f430cda0fdcc1a8fc5f4795743b40f09ff0bd869)
2009-07-28 22:54:11 -07:00
Jeremy Huddleston 1e49c8d340 XQuartz: Avoid namespace collission for BOOL in Sparkle
(cherry picked from commit 227c6e01a641b72158201553273299283cdb5599)
2009-07-28 22:54:06 -07:00
Jeremy Huddleston c81595e23b XQuartz: Overhaul setting up visuals
The main change is cleanup of the visualConfigs and setting up alpha correctly there to match the visuals being added earlier (so the default visual has a corresponding GLX visual)
(cherry picked from commit 7351db5c8746be30a4047469ee9b50bc19e62a89)
2009-07-26 02:35:49 -07:00
Jeremy Huddleston 7f28c555b8 XQuartz: Use CopyKeyClass to copy the keymap to the virtual core keyboard.
(cherry picked from commit 9a801d1716f005c30be076fcc9ac8dbb3e74d989)
2009-07-25 20:19:05 -07:00
Jeremy Huddleston 1031ac3a73 Revert "XQuartz: Copy the keyboard map to the core keyboard"
This reverts commit 795de791cf.
2009-07-25 20:18:38 -07:00
Jeremy Huddleston 48703083a1 XQuartz: Use pDev=NULL for DarwinSendDDXEvent
These events aren't really related to physical input devices anyways, so it doesn't make sense to use the pointer.
(cherry picked from commit bfe0b9cfa7af4a48dba849cab1eb152c409b4e08)
2009-07-25 20:18:15 -07:00
Jeremy Huddleston dab8de0368 XQuartz: Bump the reported version to X11R7.4
(cherry picked from commit c83f701aa75c75433b8745f5d79bca3a7516df91)
2009-07-25 15:25:35 -07:00
Jeremy Huddleston 9e74bb97ab XQuartz: xpr: Added missing include for RootlessHideAllWindows
(cherry picked from commit 75e104730810acbb11bf8503bac24ea25243b2ac)
2009-07-25 15:25:23 -07:00
Jeremy Huddleston 09b024db63 XQuartz: Use the master device in DarwinSendDDXEvent to avoid duplicate events.
(cherry picked from commit 6fa62192af937aa9656f64b516050bc099231c7a)
2009-07-25 15:25:17 -07:00
Jeremy Huddleston 795de791cf XQuartz: Copy the keyboard map to the core keyboard
This still doesn't handle the modifier map... gotta figure out what to do now that SwitchCoreKeyboard is gone
(cherry picked from commit 427e1aab41dabb54354bfd30f2baae98ac8202c0)
2009-07-25 15:25:06 -07:00
Jeremy Huddleston fb46474feb XQuartz: Rever the "Set can_quit to true during a Sparkle-initiated relaunch." change
This was in place to work around the issue that was correctly solved with the
previous commit (changing the Windows menu behavior).  Reverting this change
no longer causes crashing, so it's safe to show the dialog now.
(cherry picked from commit 023cef31bbb2ab80a241098d82fcfd35ada75fc0)
2009-07-24 09:42:18 -07:00
Jeremy Huddleston 0d73893a57 XQuartz: Change handling of Windows menu to workaround a bug triggered by mixing Sparkle and X11 windows
<rdar://problem/7088335> NSApplication releases the separator in the Windows menu even though it's an IBOutlet
(cherry picked from commit 27ac5135267be9cb221329ae68461117dd43a4bf)
2009-07-24 09:42:00 -07:00
Jeremy Huddleston 171409cecb XQuartz: Set can_quit to true during a Sparkle-initiated relaunch.
(cherry picked from commit b2e9a77111d4572402d8ca95e3368db97ba7d598)
2009-07-24 09:41:46 -07:00
Jeremy Huddleston 7ff84d350b XQuartz: Added a "Check for X11 Updates..." menu item.
(cherry picked from commit 305144bfa4b59791123c44e869fab93a084792d6)
2009-07-24 09:41:32 -07:00
Jeremy Huddleston be4dd35ffe XQuartz: Initial support for automatic updates through Sparkle
(cherry picked from commit c45f1be36426bceeef9af67c26351114f14f5277)
2009-07-20 22:04:18 -07:00
Jeremy Huddleston f517fca31d XQuartz: Localization updates
(cherry picked from commit 4b797fc1edf2bd963410a3133e3d2182ccfda4c3)
2009-07-16 17:32:10 -07:00
Jeremy Huddleston c8a3516514 XQuartz: Cleanup getGlCapabilities to avoid hardcoding the number of displays
(cherry picked from commit 12f7365f1f58d648217b16f09c2152fa47dcd7a1)
2009-07-16 17:32:04 -07:00
Jeremy Huddleston e7bc9ff816 XQuartz: Allow more than 3 OSX displays
(cherry picked from commit 45045eb3968069a8d74ce9188890a5537dc60fec)
2009-07-16 17:32:03 -07:00
Jeremy Huddleston 53ae6b6338 XQuartz: Cleanup keymap locking, fix a possible synchro bug
(cherry picked from commit 33e7437a4984ee7c1b04b87d23dee7d4739d5f12)
2009-07-15 23:18:35 -07:00
Peter Hutterer 0b4e6af857 xquartz: switch to byte counting functions
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2009-07-14 10:13:45 +10:00
Jeremy Huddleston d6b8205e69 XQuartz: ProcAppleWMAttachTransient to play nice with the new Dock in SL
(cherry picked from commit ddc0242d8f291d0f961ba9aa8c883e39861ce2ad)
2009-07-03 19:46:00 -07:00
Jeremy Huddleston b8050bb6de XQuartz: Don't leave zombied processes at startup
(cherry picked from commit 40c1406830588fa85d880e9f4e9ca570db1db306)
2009-06-27 18:26:08 -07:00
Jeremy Huddleston aaff92c8c2 XQuartz: 64bit fix for screen origin in AppleWM
(cherry picked from commit 60a757d2802a5c34acd91ca9a052937b5a169ede)
2009-06-27 18:25:56 -07:00
Jeremy Huddleston cabcc1a7ad XQuartz: More localization updates
(cherry picked from commit 5925c1f48ad05bf94195b986c1fdefc52a20ae42)
2009-06-27 10:42:50 -07:00
Jeremy Huddleston ae20e748cd XQuartz: More localization updates
(cherry picked from commit 7fbe974246f54535c545861a57c043d80e127ee7)
2009-06-19 21:16:47 -07:00
Peter Hutterer a30fef9956 input: Add labels to buttons and valuators - ABI_XINPUT_VERSION 7
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-06-18 14:41:47 +10:00
Jeremy Huddleston 077556ec39 XQuartz: AIGLX dispatch table cleanup
This should fix some issues when building on different versions of OSX.  We only use extensions that OpenGL.framework's glext.h header tells us are supported.
(cherry picked from commit e10c53421f1e780573c8adcd8ea89d6ffa28a819)
2009-06-06 22:24:06 -07:00
Jeremy Huddleston 2429daa7e6 XQuartz: Default to forcing the dialog box before quitting.
This will show the quit dialog for users of other WMs.
(cherry picked from commit 639ee0c913f892776fee40bcfb856e0d7c2c7db5)
(cherry picked from commit 09432fa5b1cc8e9a30fb8aa4f8dfcd08c4a91e30)
2009-06-06 22:23:46 -07:00
Jeremy Huddleston ec9e9c8bca XQuartz: English localization update for HIG compliance
(cherry picked from commit 86b319d7cbef39d75b54c9d321e5dbf097b552be)
2009-05-29 11:44:53 -07:00
Jeremy Huddleston f1441b8353 XQuartz: More localization updates
(cherry picked from commit b107390c9f30571902556b4d053e62d345a06254)
2009-05-27 10:16:11 -07:00
Jeremy Huddleston c2b668e6ff XQuartz: pbproxy standalone: added missing variable declarations.
(cherry picked from commit 2d947d17a3ef5fb8cef959bff0eb08b8bb5b6548)
2009-05-09 11:41:47 -07:00
Peter Hutterer 987579c930 dix: remove all but main() from main.c
All other functions are pushed into where they seemed to fit.
main.c is now linked separately into libmain.a and linked in by the various
DDXs.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-28 15:57:14 +10:00
Jeremy Huddleston ccd28ca2ad XQuartz: Localization update
(cherry picked from commit 9435fc5e20e25ce66ec85bde033daff51f39f69c)
2009-04-22 19:30:33 -07:00
Jeremy Huddleston a362d0f4fb XQuartz: Make sure the bgMouseLocationUpdated state is consistent
(cherry picked from commit 8fa8a8e1db60c8ac60d10f1f15517471d2291f77)
2009-04-22 19:30:18 -07:00
Peter Hutterer b406886bbf input: allow NULL as XkbRMVLOSet in InitKeyboardDeviceStruct.
Virtually all callers use
    XkbGetRulesDefault(&rmlvo);
    InitKeyboardDeviceStruct(..., rmlvo);

Let's save them the trouble and accept NULL as a hint to take the
default RMLVO.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Benjamin Close <Benjamin.Close@clearchain.com>
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2009-04-17 10:03:40 +10:00
Jeremy Huddleston 140463a197 XQuartz: Use correct values for ProximityIn and ProximityOut
This was the other underlying cause of teh 100% CPU tablet issue.
(cherry picked from commit a9cecf34c23fbcd59b56b380c51d31a9fabc3eb7)
2009-04-11 17:26:27 -07:00
Jeremy Huddleston 80a7bb2605 XQuartz: Solve the tablet 100% CPU bug
This happened because we put a byte in the fd to wake up dispatch, but we never actually enqueued anything in mieq because the num_events was 0.
(cherry picked from commit c21ca7558d2faf93c61f5feaafd7c878e9e21942)
2009-04-11 17:26:07 -07:00
Jeremy Huddleston 6f8f7c78f1 XQuartz: Re-enable background window checking
since that code was not the culprit for the wacom tablet, background 100% CPU bug
(cherry picked from commit fc1dc5d71b2a488a8a94d953dd8e67353161a590)
2009-04-11 17:23:03 -07:00
Jeremy Huddleston 8522a759c9 XQuartz: Only set MotionNotify on activation if it is updated.
(cherry picked from commit ae8077a251ef27381a755d57ff974767bda16148)
2009-04-11 17:22:50 -07:00
Jeremy Huddleston 5e55becddc XQuartz: Make sure the Fn doesn't trigger unneccessary calls to DarwinUpdateModKeys()
(cherry picked from commit 70a18558c6b0a02b633fd8974f002cdf3cdc713e)
2009-04-11 17:22:38 -07:00
Jeremy Huddleston bd1d917909 XQuartz: Re-enable Fn as an option for 3button mouse simulation.
Patch from Martin Otte <otte@duke.edu>
(cherry picked from commit b5ec3be6b5449b5d575bc1472fdd1c9cb15cb8be)
2009-04-11 17:22:20 -07:00
Jeremy Huddleston 808fd2c67f XQuartz: xprSetWindowLevel updated to store the level requested by the WM
(cherry picked from commit c28c2ddc3a8f3c5b9beec396953bb3ac9ee4714b)
2009-04-10 00:48:35 -07:00
Jeremy Huddleston dfb0d7aefb XQuartz: Update window levels when changing rootless state
(cherry picked from commit 1359ded5bfc14a80fb998b01a54ecacb96c4ff88)
2009-04-10 00:47:40 -07:00
Jeremy Huddleston d5ef88d754 XQuartz: Fix window levels for rooted mode to allow showing the menu bar.
(cherry picked from commit 80759a4186bf0335edc85aecea2faf11fe09f491)
2009-04-10 00:47:28 -07:00
Jeremy Huddleston 15146b8637 XQuartz: Properly set the window level for the root window
(cherry picked from commit bdf9286d1cbfeaaf8eaf03d28091e91ee587ee25)
2009-04-10 00:47:16 -07:00
Jeremy Huddleston 8d5dcfe215 XQuartz: Properly set the menu bar and hotkey state when changing rootless mode.
Currently no code path exhibits the broken behavior since we only toggle into rootless if we don't have the root.
(cherry picked from commit 970f100ca3c5fc0662ae7658d49d118fbd9de943)
2009-04-10 00:47:03 -07:00
Jeremy Huddleston 82d7cf5cdc XQuartz: In rooted mode, make sure we start in the hidden state.
(cherry picked from commit 5ecc497f71c2133f773f6c56ad76cb778862ddd6)
2009-04-10 00:46:48 -07:00
Jeremy Huddleston e86f4e9302 XQuartz: Send MotionNotify before button presses when X11 is in the background
(cherry picked from commit c80d0ec18ef5b842447d31360406d0b5b9424222)
2009-04-10 00:46:35 -07:00
Jeremy Huddleston 5ccfad8df0 XQuartz: Revert most of the previous override redirect patch
The changes actually caused all windows to move to the current space.  Instead, we're going with a fix entirely within Xplugin that depends on quartz-wm being the window-manager for now.
(cherry picked from commit 997b6f3142c622541bb5bac98652abae75d1101d)
2009-04-10 00:46:25 -07:00
Jeremy Huddleston 2c03a63ff6 XQuartz: Use updated Xplugin API to send overide-redirect windows to the current space when they're ordered in
This fixes the annoying "using a menu moves me to another space" bug
(cherry picked from commit 9e6dab89e08a26d764ba1aeaeb804c3d25c667da)
2009-04-05 16:32:12 -07:00
Jeremy Huddleston 67621f3b39 XQuartz: Send a MotionNotify event for the mouse cursor when activating X11.app
Otherwise if X11.app was activated with a mouse click, the location of the even is the last location of the cursor before X11 was deactivated
(cherry picked from commit c7457d7b31ddd2ddfd04dd6294bed4532664e1ab)
2009-04-05 16:32:02 -07:00
Jeremy Huddleston 9180081ec3 XQuartz: Still send mouse events while X11 is in the background if we have test extensions enabled
(cherry picked from commit f393fb686cfbedb11a1539d4eaf5c491af8b3a64)
2009-04-01 13:53:15 -07:00
Jeremy Huddleston 029307e79a XQuartz: Return BadRequest when SendPSN isn't implemented rather than success
(cherry picked from commit 49871e99179d5176a1ec516c8f449e2dc219faea)
2009-04-01 13:53:04 -07:00
Jeremy Huddleston 0603fbc1d3 XQuartz: Pad xAppleDRINotifyEvent to 32bytes to match sizeof(xEvent)
(cherry picked from commit 276ee3bb087c772f57a987519aa4d94afeceadaa)
2009-04-01 13:52:52 -07:00
Jeremy Huddleston 3311ef6ec9 XQuartz: Don't report mouse events while X11 is not the foreground application
(cherry picked from commit 5d1dd35096334b59564d77caef7a97bd58845c5d)
2009-03-31 18:13:18 -07:00
Jeremy Huddleston 0b6e14d46f XQuartz: Fix mouse tracking for quake, et. al. in wine
Patch courtesy of Codeweavers

Fix mouse movement tracking.  For a non-window-related mouse-move event,
calculate the new position by adding the event's delta-x and delta-y values
to the previous mouse position.  Do not rely on the current mouse position
because it may have been changed by a XWarpPointer call.
(cherry picked from commit 7a67935b05a475215b9bdbb959e4f7e15f32416f)
2009-03-30 20:41:38 -07:00
Jeremy Huddleston daa9727a02 XQuartz: Implement SendPSN for AppleWM
(cherry picked from commit 779e9fdc2de9bfebc5f0a4c9d5f42e389fdd8593)
2009-03-04 13:39:43 -08:00
Jeremy Huddleston 7907b37d96 XQuartz: Don't erase the mode_switch+keysym if it's the same as shift+keysym
(cherry picked from commit 3e2427e6e9675dd655c8ad328b82e12191b064f2)
2009-02-26 21:26:01 -08:00
Jeremy Huddleston d6976e1436 XQuartz: Re-enable support for capslock
(cherry picked from commit 4901b8147e593d26d7a31a9b73a201254b948916)
2009-02-24 23:14:01 -08:00
Jeremy Huddleston 4b63f88b0a XQuartz: Comment out the background pointer interaction that seems to be causing CPU spinning on some configurations
(cherry picked from commit 1d479fa4f3bca9cbd81808a6c87582422fd2a257)
2009-02-24 22:22:03 -08:00
Jeremy Huddleston 9531b96470 XQuartz: DefineInitialRootWindow is gone 2009-02-22 00:41:52 -08:00
Jeremy Huddleston c7c50157b5 XQuartz: quartzKeyboard compile fixes for recent XKB Changes
Seems we're less divorced from XKB than we'd like for now... hopefully not having any rules installed will still let us override things the way we want to...
2009-02-22 00:29:48 -08:00
George Staplin 61abf3189f XQuartz: GL: Change from xalloc to xcalloc to potentially avoid
uninitialized data in the __GLXAquaContext.
(cherry picked from commit d3120241f9f48d21f9a6ecfb848434a4a0270855)
2009-02-21 23:35:26 -08:00
George Staplin 5587f9b771 XQuartz: GL: Fix a bug with an uninitialized GLX data structure.
This was causing a crash randomly, due to random memory contents.
Use xcalloc to prevent this in the future, due to future changes or mistakes.

Set the drawableType to include GLX_PIXMAP_BIT and GLX_PBUFFER_BIT.
The new libGL supports these.

Set the max Pbuffer width/height, based on the results of a test program.
We may someday want to revisit this depending on what users need, so that
we create a CGLContextObj, make it current, and call glGetIntegerv to
gather the information at runtime.
(cherry picked from commit c7e338330943e0d03a99328c740540d03f018d20)
2009-02-21 23:35:22 -08:00
George Staplin 372977354c XQuartz: Fix the new ProcAppleDRIDestroyPixmap code REQUEST_SIZE_MATCH.
It had a copy and paste mistake that I didn't notice. :/
It was using the CreatePixmapReq.

Also add a missing B16 to the end of the length for the DestroyPixmapReq struct.

Now the AppleDRIDestroyPixmap request seem to work.
(cherry picked from commit 295fe25bd8fa2d141291a9d9b6ef7b75fcccb4dd)
2009-02-20 11:54:45 -08:00
Jeremy Huddleston 67faf41b3f XQuartz: Don't need GlxSetVisualConfig any more
Fixes build failure resulting from 516f8e2cad1311a09764e2633644188d1e3c31bb
(cherry picked from commit 066b17028a35956a089815716e38571f305469c5)
2009-02-17 23:27:08 -08:00
George Staplin bac13e54b1 XQuartz: Add driWrap.h that I missed in the last commit.
This should complete the GLXPixmap commits for now.
(cherry picked from commit 7e99b55651bf7f6275bb227d02f203fb885a67a2)
2009-02-16 21:42:54 -08:00
George Staplin 95052caa2c XQuartz: Add support for GLXPixmaps to the AppleDRI.
This involved wrapping some GCOps to get the proper behavior
when using X11 raster ops mixed with OpenGL (see driWrap.c).

This extends the AppleDRI protocol with create and destroy pixmap
functions.

The dri.c code has been extended quite a bit to enable this, and
to initialize the wrapping of CreateGC for GCOps.

This has been tested with tests/glxpixmap and proven to work with
the new libGL.  Existing applications seem to work fine too. Redraws
all appear to be correct.

There may be some bugs lurking that I haven't found yet.  I plan
to drive them out by extending the libGL test suite.
(cherry picked from commit 630518766b01022c49fe3a9e7d501808f71b06e2)
2009-02-16 21:42:45 -08:00
George Staplin d229ba7068 XQuartz: xpr: The dri.c code for pixmaps was wrong in several ways. They weren't
being exported correctly by Xplugin.

This should fix a bug with the surface for a window, when an export fails.
Before the export could fail and leave behind an invalid (freed) pointer in the dix privates.

I have an idea of how to fix the GLXPixmaps now without using CGLSetOffScreen.

This work is a step towards that.  The Xplugin will need a small patch to fix an
issue that this change brought forth.
(cherry picked from commit 58c4116c47543b5e30c2232e7bee8efc0b9be176)
2009-02-12 15:47:13 -08:00
Jeremy Huddleston b17d6bed97 XQuartz: Fix copyright info in Info.plist to be prettier when viewed in Finder
(cherry picked from commit 8b607c9c507a68a6abda63831d227d0f8947028c)
2009-02-12 15:36:01 -08:00
Jeremy Huddleston 6869efae74 XQuartz: Accept bundle version 2.1.6 to work with our startup method
(cherry picked from commit 7f2966557374cb5ea22bc7b73d5ca04891eb5e78)
2009-02-03 10:04:40 -08:00
Jeremy Huddleston f5c7f8a3ab XQuartz: GLX: Fix accidental exclusion of glBlitFramebufferEXT on Leopard
(cherry picked from commit 8620579483789ae9ac1b68dbefe32b70011386de)
2009-02-02 12:36:01 -08:00
Jeremy Huddleston e2b4d3d4a1 XQuartz: GLX: OpenGL.framework on Tiger doesn't have glBlitFramebufferEXT
(cherry picked from commit e01662cadcaa4052e3a5aa82cbaed00a2d0220e0)
2009-02-01 15:13:40 -08:00
George Staplin b137a0cdb1 XQuartz: GL: indirect.c changes to fix the build with newer OpenGL frameworks.
(cherry picked from commit 143224405ba74929c702a95de52b56df140b0d1b)
2009-01-26 10:28:03 -08:00
Jeremy Huddleston 34b896e50f XQuartz: SnowLeopard: Help system book name changed in 10.6
(cherry picked from commit b57cb05c69acbedb00a97234099ea104309aa2cb)
2009-01-25 21:26:04 -08:00
Daniel Stone f06a9d2e05 Input: Clean up keymap change notifications
Keyboard map notifications are always generated from within XKB code,
which also takes care of copying the keysyms, etc.  If you need to
mangle the keymap yourself, generate a new core keymap/modmap, and pass
it to XkbApplyMappingChange.

SendMappingNotify is renamed to SendPointerMappingNotify (and ditto its
Device variants), which still only _sends_ the notifications, as opposed
to also doing the copying a la XkbApplyMappingChange.

Also have the modmap change code traverse the device hierachy, rather
than just going off the core keyboard.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2009-01-22 15:08:58 +11:00
Daniel Stone 32db27a7f8 Input: Remove modifierMap from core
We already have modmap (in the exact same format!) in XKB, so just use
that all the time, instead of duplicating the information.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-01-22 15:08:55 +11:00
Daniel Stone f062e90a95 Input: Remove modifierKeyMap
Since modifierKeyMap is generated from modifierMap, just remove it, and
only generate it when we need to send the modifier map to the client.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-01-22 15:08:55 +11:00
Dan Nicholson 64f924fbf5 Kill off --with-mesa-source completely
There were a few spots left in the source that were using the
--with-mesa-source defined headers or the now removed $(top_srcdir)/GL
directory. These aren't needed anymore as all the necessary source for
GLX is in $(top_srcdir)/glx.

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
2009-01-18 09:49:06 -08:00
George Staplin 5c41b3f9c8 XQuartz: xpr: Cleanup some of the code and possibly fix part of the GLX Pixmap problem.
Split DRICreateSurface into 3 functions.

Make CreateSurfaceForPixmap use xp_configure_surface.  I suspect this is partly why
GLXPixmaps never worked.

It will require some more work and thoughts for pbuffers, unless we fake those with
pixmaps and surfaces.
(cherry picked from commit 9cf264e67744262b9f45079e6cd752eb3e3b0e08)
2009-01-15 21:05:00 -08:00
George Staplin c5d52d4c37 XQuartz: GL: Make indirect.c build and work in the 1.6 branch.
Reorder some header files and provide some types earlier on.

Remove the static __GLXextensionInfo __glDDXExtensionInfo; that isn't
used in 1.4 or 1.5, and seems to have been removed from 1.6.  Remove
the data structures associated with that too.

Remove __glXAquaDrawableResize.  The GLX structure doesn't use
it anymore, and the Apple version did nothing useful before.

__glXAquaDrawableSwapBuffers(): base no longer contains a drawGlxc
member.  Now provide the the Apple/Aqua context in the __GLXAquaDrawable
struct.  Add the context member to the __GLXAquaDrawable struct.

Remove the fallback configs.  They aren't used in 1.4 or 1.5 either.

Remove init_visuals().  It's not used in 1.4 or 1.5 either.

In the drawable constructor initialize the state properly, including
the new context member.

Remove glAquaResetExtension() -- it's not used anymore.

This has been tested remotely and proven to work with glxgears,
fire, various texture programs I wrote, and various Mesa demos.
(cherry picked from commit d514152195452ae11ec7769c76489651620ad380)
2009-01-15 21:04:54 -08:00
Jeremy Huddleston 1c504dff8a XQuartz: Fix builddir != srcdir issues and undef _XSERVER64 where appropriate on fat binary compilation 2009-01-15 21:03:27 -08:00
Jeremy Huddleston 67710ad1d1 XQuartz: Don't need explicit Activate/EnableDevice in InitInput
(cherry picked from commit b1d29784410b3b93037e5636f336ba608d8ad6e3)
2009-01-11 16:39:33 -08:00
Jeremy Huddleston 0720816aea XQuartz: Only call DarwinUpdateModKeys when needed
Previously, we were calling it on almost every itteration through sendX11Event
(cherry picked from commit 6461729647ff4441d80811e73f0c0d2f108f2700)
2009-01-11 16:37:46 -08:00
Jeremy Huddleston c8bf582db8 XQuartz: Comment explaining the 0x10 flag for [e data2]
(cherry picked from commit 3c695280641c1205b97d3bb9f1d5e15a19cfa45f)
2009-01-11 13:56:46 -08:00
Jeremy Huddleston 5339c22a8c XQuartz: Add locking to make mieq thread safe on OSX
(cherry picked from commit 7a8d2266861e74176b5310b83652a9c10a170494)
2009-01-11 01:56:45 -08:00
Jeremy Huddleston 1beff89810 XQuartz: misc 1.6 updates (still --disable-glx)
rlAccel is not longer compatable, and it's not worth fixing
  Don't override DeviceCursorInitialize with a noop
  Don't do a SwitchCoreKeyboard (which wasn't even needed in the first place)
(cherry picked from commit c137f681680e1d04b1513a8be68aeda4d1c56fd5)
2009-01-11 01:55:26 -08:00
Jeremy Huddleston 7a8abb9c85 XQuartz: Bundle version 2.4.0
(cherry picked from commit 3a3ccf5354e4275abe9d01f41a92602df5d690dc)
2009-01-11 01:54:28 -08:00
George Staplin 0d8184de59 XQuartz: GL: Set the __GLXconfig renderType to GLX_RGBA_BIT.
(cherry picked from commit 3c14546f58f8a138fe67c9cacc3bd0b7fa90c29a)
2009-01-10 01:00:24 -08:00
George Staplin 9c3975d63e XQuartz: GL: Make many more fbconfigs and visuals available for the 1.5 branch.
Use a __GLXconfig linked list struct to store the configurations for the
fbconfigs and visuals in a pGlxScreen.

Also, remove the __GLXvisualConfig/GlxSetVisualConfigs code that isn't used
anymore.  There is more code we can remove later, but I want to do that in
separate commits.
(cherry picked from commit 94162b0f8a25267aca280d25e216cc6bde47da6e)
2009-01-10 01:00:09 -08:00
Jeremy Huddleston a68373994f XQuartz: Update padding in appledristr. This shouldn't change how the struct ends up in memory, but should make it more obvious for human eyes
(cherry picked from commit f7b6c1907c326a1befd8b5c8a1d311d551e8670f)
2009-01-10 00:59:16 -08:00
Jeremy Huddleston fc14d52297 XQuartz: Use AvailabilityMacros.h instead of availability.h for Tiger
(cherry picked from commit 91f3c3435716195e6d606c8e2f6b0de52eb5972d)
2009-01-07 01:48:23 -08:00
Jeremy Huddleston af820259a0 XQuartz: Copyright Update... happy new year
(cherry picked from commit 9f1c26ae8d9ccf81cba0ab946326968a701f8c36)
2009-01-02 11:07:29 -08:00
Jeremy Huddleston d8c9ba37ab XQuartz: pbproxy: Push dpy init and CFRunLoop hook setup into the pbproxy thread to avoid possible deadlock
(cherry picked from commit 49e59d32b88e4fad070f230b5efaa261b47f78db)
2009-01-02 11:02:42 -08:00
Jeremy Huddleston 2f361186f9 XQuartz: Don't use NX_SECONDARYFNMASK, NX_NUMERICPADMASK, NX_HELPMASK
We don't have keycodes for them, so don't try to use them
(cherry picked from commit cb912aca3a2834c4ad8e386c8a0d05c1bb31b0e7)
2008-12-31 12:45:34 -08:00
Jeremy Huddleston a2abaa9fd3 XQuartz: Make sure to reset the saved key state when deactivating X11.app
(cherry picked from commit 3eef78eb321f4f7dbca5a10c80666c621e28a1e0)
2008-12-31 12:45:13 -08:00
Jeremy Huddleston 3986b683ad XQuartz: Honor system key repeat rate
(cherry picked from commit 4303c9be39a86f5a21de108f72b90a989435905e)
2008-12-31 12:44:43 -08:00
Jeremy Huddleston 1a69d56afd XQuartz: Better avoid stuck keys on context switches
(cherry picked from commit e9963f1a4f4f12f253eae9d4f01694b6cabe35ad)
2008-12-31 12:43:17 -08:00
Jeremy Huddleston f464b5a916 XQuartz: Workaround OSX VNC server bug for modifier key state
A better approach which ensures we have a L modifier key down if we are told neither are down and atleast one is down... =/
(cherry picked from commit bc13dda345f716bf4de9bfe4e1d85969263b60c2)
2008-12-31 12:43:02 -08:00
Jeremy Huddleston 3ead9aa260 XQuartz: Updated man page fullscreen_hotkeys fullscreen_menu
(cherry picked from commit 00f3a2e33c8e91da5f855821313a04ea97445656)
2008-12-31 12:42:48 -08:00
Jeremy Huddleston 997e8c321b XQuartz: Try harder to get the user's login environment
(cherry picked from commit 6bedaddd78aa04bd303df434a4c49bb87bd7deaa)
2008-12-28 22:17:31 -08:00
Jeremy Huddleston ae8dc47fd9 XQuartz: Reposition windows when we enter fullscreen to ensure our root window
(cherry picked from commit 7617d3659b5481ef85aecc1f936e7dd2662bdfbd)
2008-12-28 22:17:16 -08:00
Jeremy Huddleston 895186e026 XQuartz: Re-enable rlAccel
It was incorrectly blamed for some crashes a few months ago, and it should be
safe to use until we get an EXA driver to replace it.
(cherry picked from commit 8121f30bd29591fc74fbc680fbbf20210271fa58)
2008-12-28 22:17:03 -08:00
Jeremy Huddleston a1b201bcb0 XQuartz: Use depth=24 instead of FatalError if we can't figure out our depth
(cherry picked from commit 80b65c5b78d125c4ad3620b87b121c9e666299c3)
2008-12-23 12:45:57 -08:00
Jeremy Huddleston ba9dc353a6 XQuartz: Don't use keycode 0 to determine !swallow since our most common key to swallow is actual keycode 0 (a)
(cherry picked from commit 33f43a7f03023bfbab25a957cb81fc25b4afa4ca)
2008-12-21 21:36:02 -08:00
Jeremy Huddleston f0cdccd1e2 XQuartz: Update our "screens" when we toggle rootless rather than when we toggle fullscreen
This old behavior was used as a workaround for the menubar behavior in the older server,
but we handle it better now and need to update our screens when we toggle the rootless
state instead.
(cherry picked from commit 508aa95bc2cd3fdc3dff448ec090919bf807d153)
2008-12-21 21:35:46 -08:00
Jeremy Huddleston 8f04a52373 XQuartz: Run applications via '/bin/sh -c ...' to support users who expect shell parsing
(cherry picked from commit 67455e716e3ecffd528930479192785958d37988)
2008-12-21 21:35:33 -08:00
Jeremy Huddleston 029d255a65 XQuartz: pbproxy: Release display notification lock when not needed to avoid deadlock
(cherry picked from commit 22f664ab95a0cae981e9cefad6f075d051583ca5)
2008-12-21 21:35:22 -08:00