Commit Graph

473 Commits

Author SHA1 Message Date
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 a9cecf34c2)
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 c21ca7558d)
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 fc1dc5d71b)
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 ae8077a251)
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 70a18558c6)
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 b5ec3be6b5)
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 c28c2ddc3a)
2009-04-10 00:48:35 -07:00
Jeremy Huddleston
dfb0d7aefb XQuartz: Update window levels when changing rootless state
(cherry picked from commit 1359ded5bf)
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 80759a4186)
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 bdf9286d1c)
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 970f100ca3)
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 5ecc497f71)
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 c80d0ec18e)
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 997b6f3142)
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 9e6dab89e0)
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 c7457d7b31)
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 f393fb686c)
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 49871e9917)
2009-04-01 13:53:04 -07:00
Jeremy Huddleston
0603fbc1d3 XQuartz: Pad xAppleDRINotifyEvent to 32bytes to match sizeof(xEvent)
(cherry picked from commit 276ee3bb08)
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 5d1dd35096)
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 7a67935b05)
2009-03-30 20:41:38 -07:00
Jeremy Huddleston
daa9727a02 XQuartz: Implement SendPSN for AppleWM
(cherry picked from commit 779e9fdc2d)
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 3e2427e6e9)
2009-02-26 21:26:01 -08:00
Jeremy Huddleston
d6976e1436 XQuartz: Re-enable support for capslock
(cherry picked from commit 4901b8147e)
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 1d479fa4f3)
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 d3120241f9)
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 c7e3383309)
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 295fe25bd8)
2009-02-20 11:54:45 -08:00
Jeremy Huddleston
67faf41b3f XQuartz: Don't need GlxSetVisualConfig any more
Fixes build failure resulting from 516f8e2cad
(cherry picked from commit 066b17028a)
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 7e99b55651)
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 630518766b)
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 58c4116c47)
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 8b607c9c50)
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 7f29665573)
2009-02-03 10:04:40 -08:00
Jeremy Huddleston
f5c7f8a3ab XQuartz: GLX: Fix accidental exclusion of glBlitFramebufferEXT on Leopard
(cherry picked from commit 8620579483)
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 e01662cadc)
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 143224405b)
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 b57cb05c69)
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 9cf264e677)
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 d514152195)
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 b1d2978441)
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 6461729647)
2009-01-11 16:37:46 -08:00