Commit Graph

6911 Commits

Author SHA1 Message Date
Jeremy Huddleston
9cbdcf1fa4 XQuartz: Only call DarwinUpdateModKeys when needed
Previously, we were calling it on almost every itteration through sendX11Event
(cherry picked from commit 6461729647)
2009-01-30 16:44:49 -08:00
George Staplin
037e52fd73 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 d514152195)
2009-01-30 16:44:49 -08:00
George Staplin
ee9736b26b XQuartz: GL: Set the __GLXconfig renderType to GLX_RGBA_BIT.
(cherry picked from commit 3c14546f58)
(cherry picked from commit a665ed16f7)
2009-01-30 16:44:49 -08:00
George Staplin
b646513861 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 94162b0f8a)
(cherry picked from commit 15bb6abd59)
2009-01-30 16:44:49 -08:00
Michel Dänzer
9e03178ae2 EXA: Declare glyph cache picture as component-alpha when necessary.
Without this, rendering component-alpha glyphs may break without a mask.

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=19233 .
(cherry picked from commit 639f289dcd)
2009-01-30 16:44:49 -08:00
Keith Packard
648807adb0 Make RandR CRTC info report panning area instead of just crtc area
This makes the RandR info consistent with the Xinerama info.

Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 6e49fdd2c8)
2009-01-30 15:44:45 -08:00
Maarten Maathuis
9b2958b3a2 randr: Consider panned crtc's when calculating xinerama screen sizes.
- This will allow window managers and applications to actually use the panned area.
(cherry picked from commit 332d65ec7a)
2009-01-30 15:44:32 -08:00
Keith Packard
251d0d8090 Update version to 1.5.99.901 (1.6 RC1) 2009-01-12 13:03:30 -08:00
Keith Packard
71628cabc9 Merge include/dix-config-post-verbatim.h into include/dix-config.h.in
No sense having an extra include file here; it makes building stuff harder.

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-01-12 11:51:28 -08:00
Alban Browaeys
cbd977cc15 Fix dmx compile on 1.6 branch.
http://www.mail-archive.com/pld-cvs-commit@lists.pld-linux.org/msg166742.html
contains a patch from "arekm" which I build upon to make up this one.

Mostly fixes for Xcalloc which I previously tried to fix the same way but
without finding the right spot.

I cannot tell if dmx works though. Only that it at least compile.

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-01-12 10:57:11 -08:00
Peter Hutterer
6be355b8e8 dix: drop x/y back into last.valuators before updating the history (#19285)
positionSprite needs to scale to screen coordinates and in the process of
doing so alters dev->last.valuators[0:1]. Drop the real coordinates back after
finishing and before updating the motion history. This way, we don't push the
screen coordinates into the motion history.

X.Org Bug 19285 <http://bugs.freedesktop.org/show_bug.cgi?id=19285>
(cherry picked from commit 56efbc0986)
2009-01-12 10:42:18 -08:00
Jeremy Huddleston
ca21fd7ddf XQuartz: Add locking to make mieq thread safe on OSX
(cherry picked from commit 7a8d226686)
2009-01-12 10:42:11 -08:00
Jeremy Huddleston
671b71a6cb 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 c137f68168)
2009-01-12 10:42:05 -08:00
Jeremy Huddleston
69ddac2328 Apple: Don't use DRI2
(cherry picked from commit a1d35cee59)
2009-01-12 10:41:59 -08:00
Jeremy Huddleston
681cc0f38b XQuartz: Use depth=24 instead of FatalError if we can't figure out our depth
(cherry picked from commit 80b65c5b78)
(cherry picked from commit 932ed6e949)
2009-01-12 10:41:51 -08:00
Jeremy Huddleston
7872669105 XQuartz: Make debugging output for invalid depths a bit more detailed
(cherry picked from commit 609fb166b7)
(cherry picked from commit 1962af7ee3)
2009-01-12 10:41:45 -08:00
Keith Packard
fdfc70ea0a Merge commit 'whot/server-1.6-branch' into server-1.6-branch 2009-01-12 10:40:04 -08:00
Peter Hutterer
82f42730fa mi: force CopyKeyClass for key events. (#19048)
While we don't want to copy all other device classes into the VCK, we need to
copy the key class to transfer the layout from the SDs into the VCK.
This resembles the functionality of SwitchCoreKeyboard in server 1.5.

Thanks to Colin Guthrie for providing the follow-up patch (#19222)

X.Org Bug 19048 <http://bugs.freedesktop.org/show_bug.cgi?id=19048>

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-01-12 18:27:09 +10:00
Peter Hutterer
8cfb353078 dix: Fix handling of do_not_propagate_mask window attribute.
This was broken in 32aa252e98.

Signed-off-by: Kim Woelders <kim@woelders.dk>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 30d2cfcd38)

Conflicts:

	dix/events.c

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-01-11 17:41:04 -08:00
Peter Hutterer
10c0287232 dix: Fix handling of do_not_propagate_mask window attribute.
This was broken in 32aa252e98.

Signed-off-by: Kim Woelders <kim@woelders.dk>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 30d2cfcd38)

Conflicts:

	dix/events.c
2009-01-12 11:34:26 +10:00
Peter Hutterer
93e510d3ab xfree86: Only use the evdev ruleset on linux.
As suggested by Julien Cristau

This is an follow-up to
commit 9c5dd7337f
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date:   Wed Dec 3 14:24:25 2008 +1000

    Let the DDX decide on the XkbRulesDefaults.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
Acked-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
(cherry picked from commit 13de7511b1)

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-01-11 16:08:56 -08:00
Peter Hutterer
cc78f04b22 Let the DDX decide on the XkbRulesDefaults.
Rather than assuming rules in the CoreKeyboardProc, init the default rules in
InitCoreDevices, then re-use them later.

In the xfree86 DDX, set the rules to "base" or "evdev", depending on whether
we'll load kbd or evdev.

If we create a new MD, use pc105,us as default and re-use the rules file used
previously.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2009-01-11 16:08:35 -08:00
Keith Packard
02c059ea99 dix: move focus handling into enterleave.c.
This commit moves the focus handling from events.c into enterleave.c and
implements a model similar to the core enter/leave model.
For a full description of the model, see:
http://lists.freedesktop.org/archives/xorg/2008-December/041740.html

This commit also gets rid of the focusinout array in the WindowRec, ditching
it in favour of a local array that keeps the current focus window for each
device.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit eb2d7b3d70)

Conflicts:

	dix/events.c
	include/input.h

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-01-11 15:56:28 -08:00
Peter Hutterer
c75445754e dix: add a few auxiliary functions for the updated focus model.
SetFocusIn and SetFocusOut, including the static array to keep all focus
windows.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 673eb23aac)
2009-01-09 11:21:39 -08:00
Peter Hutterer
ceeb62f892 dix: reduce FirstPointerChild complexity
Instead of keeping a flag on each window for the devices that are in this
window, keep a local array that holds the current pointer window for each
device. Benefit: searching for the first descendant of a pointer is a simple
run through the array.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 38b28dcadd)
2009-01-09 11:21:27 -08:00
Peter Hutterer
ed90245461 dix: remove now unused "exclude" parameter from FirstPointerChild
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 72ad4a85cc)
2009-01-09 11:21:18 -08:00
Keith Packard
f0025f59e8 dix: re-implement enter/leave model.
The old model was implemented based on a misunderstanding of NotifyVirtual and
NotifyNonlinearVirtual events. It became complicated and was broken in some
places [1]. This patch wipes this model completely.

A much simplified implementation is provided instead. Rather than a top-down
approach ("we have a tree of windows, which ones need to get which event")
this one uses a step-by-step approach. For each window W between A and B
determine the pointer window P as perceived by this window and determine the
event type based on this information. This is in-line with the model described
by Owen Taylor [2].

[1] http://lists.freedesktop.org/archives/xorg/2008-December/041559.html
[2] http://lists.freedesktop.org/archives/xorg/2008-August/037606.html
(cherry picked from commit 0aa4460c3b)

Conflicts:

	dix/enterleave.c
2009-01-09 11:20:31 -08:00
Peter Hutterer
1ffd9ec760 xfree86: don't restore the TTY mode if we didn't initialize it ourselves
Restoring it unconditionally means we restore to whatever tty_mode has as
default value (i.e. 0). K_RAW happens to be 0x00, so we always restore to raw
mode if allowEmptyInput is off.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Julien Cristau <jcristau@debian.org>
(cherry picked from commit aea6f19f25)
2009-01-09 11:04:09 -08:00
Peter Hutterer
3c11efd7dc xfree86: If an input device failed to activate, return immediately.
Devices are only activated once - right after they've been added to the
server. If a device failes activation, it's dead. There's no reason to
continue. Return the error code from ActivateDevice() without setting up
sprite information or even sending a event to the client.

Then - in the DDX - just remove the device again.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 27011254c4)
2009-01-09 11:04:03 -08:00
Peter Hutterer
2ce48363b8 xfree86: don't call CheckMotion if a device hasn't been enabled. #19176
X.Org Bug <http://bugs.freedesktop.org/show_bug.cgi?id=19176>
(cherry picked from commit e1a3a1a0d8)
2009-01-09 11:03:58 -08:00
Maarten Maathuis
3225e1378e exa: preparing as source and finishing access as mask is a bad idea
(cherry picked from commit 027b440d4f)
2009-01-09 11:03:52 -08:00
Maarten Maathuis
2056c10d12 exa: Allow drivers to set non-NULL devPrivate.ptr for !offscreen pixmaps.
(cherry picked from commit 3534a5e5d9)
2009-01-09 11:03:47 -08:00
Jeremy Huddleston
4130761f15 XQuartz: Fat binary buildfixes
Let Xarch.h set X_BYTE_ORDER for us.
Determine _XSERVER64 at build time.
(cherry picked from commit f54736c2b0)
(cherry picked from commit cc677cb4f4)
2009-01-09 11:03:37 -08:00
Jeremy Huddleston
2eb09af561 XQuartz: Use AvailabilityMacros.h instead of availability.h for Tiger
(cherry picked from commit 91f3c34357)
(cherry picked from commit 65ab2f44ea)
2009-01-09 11:03:32 -08:00
Jeremy Huddleston
fecc82ee11 XQuartz: Copyright Update... happy new year
(cherry picked from commit 9f1c26ae8d)
(cherry picked from commit df6ca888b0)
2009-01-09 11:03:27 -08:00
Jeremy Huddleston
d80e35a9ae XQuartz: pbproxy: Push dpy init and CFRunLoop hook setup into the pbproxy thread to avoid possible deadlock
(cherry picked from commit 49e59d32b8)
(cherry picked from commit adbfd49da2)
2009-01-09 11:03:21 -08:00
Jeremy Huddleston
c32a680f26 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 cb912aca3a)
(cherry picked from commit 0676a580fc)
2009-01-09 11:03:05 -08:00
Jeremy Huddleston
e08ce79152 XQuartz: Make sure to reset the saved key state when deactivating X11.app
(cherry picked from commit 3eef78eb32)
(cherry picked from commit 0d2621b6d4)
2009-01-09 11:02:59 -08:00
Jeremy Huddleston
bdf776b457 XQuartz: Honor system key repeat rate
(cherry picked from commit 4303c9be39)
(cherry picked from commit 9faf3de7e5)
2009-01-09 11:02:52 -08:00
Jeremy Huddleston
16560db0c0 XQuartz: Better avoid stuck keys on context switches
(cherry picked from commit e9963f1a4f)
(cherry picked from commit 4be8d7346b)
2009-01-09 11:02:48 -08:00
Jeremy Huddleston
66f801f5a0 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 bc13dda345)
(cherry picked from commit c67a3e2972)
2009-01-09 11:02:42 -08:00
Jeremy Huddleston
a05dbce402 XQuartz: Updated man page fullscreen_hotkeys fullscreen_menu
(cherry picked from commit 00f3a2e33c)
(cherry picked from commit d790c9dd04)
2009-01-09 11:02:34 -08:00
Jeremy Huddleston
b8877bb9e4 XQuartz: pbproxy: We explicitly need libX11 for pbproxy
(cherry picked from commit 32824120da)
(cherry picked from commit 8c6e8fa811)
2009-01-09 11:02:29 -08:00
Jeremy Huddleston
de78ac4378 XQuartz: Try harder to get the user's login environment
(cherry picked from commit 6bedaddd78)
(cherry picked from commit 338f096861)
2009-01-09 11:02:24 -08:00
Jeremy Huddleston
c391114df9 XQuartz: Reposition windows when we enter fullscreen to ensure our root window
(cherry picked from commit 7617d3659b)
(cherry picked from commit 61ae56f973)
2009-01-09 11:02:19 -08:00
Jeremy Huddleston
beafebef82 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 8121f30bd2)
(cherry picked from commit 85347902d9)
2009-01-09 11:02:14 -08:00
Jeremy Huddleston
86ba5eff62 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 33f43a7f03)
(cherry picked from commit 84f0c03418)
2009-01-09 11:00:27 -08:00
Jeremy Huddleston
2a42a059ce 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 508aa95bc2)
(cherry picked from commit 7e7758e178)
2009-01-09 11:00:21 -08:00
Jeremy Huddleston
51319550c9 XQuartz: Run applications via '/bin/sh -c ...' to support users who expect shell parsing
(cherry picked from commit 67455e716e)
(cherry picked from commit 7dc0dafef1)
2009-01-09 11:00:16 -08:00
Jeremy Huddleston
b0503b69f9 XQuartz: pbproxy: Release display notification lock when not needed to avoid deadlock
(cherry picked from commit 22f664ab95)
(cherry picked from commit 4c256c0e9c)
2009-01-09 11:00:11 -08:00