Commit Graph

476 Commits

Author SHA1 Message Date
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