Commit graph

445 commits

Author SHA1 Message Date
Jeremy Huddleston
faef10ec17 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:29 -07:00
Jeremy Huddleston
da8b2891a1 XQuartz: Implement SendPSN for AppleWM
(cherry picked from commit 779e9fdc2d)
2009-03-04 13:40:35 -08:00
Jeremy Huddleston
ccf5f7bc07 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:25:13 -08:00
Jeremy Huddleston
dd787b6638 XQuartz: Re-enable support for capslock
(cherry picked from commit 4901b8147e)
2009-02-24 23:13:42 -08:00
Jeremy Huddleston
955e0fe68d 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:21:05 -08:00
George Staplin
d3120241f9 XQuartz: GL: Change from xalloc to xcalloc to potentially avoid
uninitialized data in the __GLXAquaContext.
2009-02-21 22:33:10 -07:00
George Staplin
c7e3383309 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.
2009-02-21 22:22:52 -07:00
George Staplin
295fe25bd8 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.
2009-02-18 21:43:19 -07:00
Jeremy Huddleston
066b17028a XQuartz: Don't need GlxSetVisualConfig any more
Fixes build failure resulting from 516f8e2cad
2009-02-17 23:24:25 -08:00
George Staplin
7e99b55651 XQuartz: Add driWrap.h that I missed in the last commit.
This should complete the GLXPixmap commits for now.
2009-02-16 17:33:19 -07:00
George Staplin
630518766b 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.
2009-02-16 17:22:18 -07:00
Jeremy Huddleston
eea42726b1 XQuartz: Fix copyright info in Info.plist to be prettier when viewed in Finder
(cherry picked from commit 8b607c9c50)
2009-02-12 15:45:23 -08:00
George Staplin
58c4116c47 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.
2009-02-06 12:55:09 -07:00
Jeremy Huddleston
0d5dd1501a XQuartz: Accept bundle version 2.1.6 to work with our startup method
(cherry picked from commit 7f29665573)
2009-02-03 10:04:18 -08:00
Jeremy Huddleston
0dbc356795 XQuartz: GLX: Fix accidental exclusion of glBlitFramebufferEXT on Leopard
(cherry picked from commit 8620579483)
2009-02-02 12:34:49 -08:00
Jeremy Huddleston
fd08be749e XQuartz: GLX: OpenGL.framework on Tiger doesn't have glBlitFramebufferEXT
(cherry picked from commit e01662cadc)
2009-02-01 15:12:50 -08:00
George Staplin
143224405b XQuartz: GL: indirect.c changes to fix the build with newer OpenGL frameworks. 2009-01-26 03:02:38 -07:00
Jeremy Huddleston
b57cb05c69 XQuartz: SnowLeopard: Help system book name changed in 10.6 2009-01-16 19:26:07 -08:00
Jeremy Huddleston
f020900641 XQuartz: Fix builddir != srcdir issues and undef _XSERVER64 where appropriate on fat binary compilation 2009-01-15 20:57:42 -08:00
George Staplin
9cf264e677 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.
2009-01-12 19:30:43 -07:00
George Staplin
d514152195 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.
2009-01-12 14:14:44 -07:00
Jeremy Huddleston
b1d2978441 XQuartz: Don't need explicit Activate/EnableDevice in InitInput 2009-01-11 16:34:36 -08:00
Jeremy Huddleston
6461729647 XQuartz: Only call DarwinUpdateModKeys when needed
Previously, we were calling it on almost every itteration through sendX11Event
2009-01-11 14:49:39 -08:00
Jeremy Huddleston
267960c671 XQuartz: Comment explaining the 0x10 flag for [e data2]
(cherry picked from commit 3c69528064)
2009-01-11 13:56:33 -08:00
Jeremy Huddleston
7a8d226686 XQuartz: Add locking to make mieq thread safe on OSX 2009-01-11 01:52:42 -08:00
Jeremy Huddleston
c137f68168 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)
2009-01-11 01:42:24 -08:00
Jeremy Huddleston
f5f3803835 XQuartz: Bundle version 2.4.0
(cherry picked from commit 3a3ccf5354)
2009-01-10 01:01:01 -08:00
George Staplin
a665ed16f7 XQuartz: GL: Set the __GLXconfig renderType to GLX_RGBA_BIT.
(cherry picked from commit 3c14546f58)
2009-01-10 01:00:17 -08:00
George Staplin
15bb6abd59 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)
2009-01-10 01:00:03 -08:00
Jeremy Huddleston
6850846b78 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 f7b6c1907c)
2009-01-07 18:29:08 -08:00
Jeremy Huddleston
65ab2f44ea XQuartz: Use AvailabilityMacros.h instead of availability.h for Tiger
(cherry picked from commit 91f3c34357)
2009-01-07 01:47:52 -08:00
Jeremy Huddleston
df6ca888b0 XQuartz: Copyright Update... happy new year
(cherry picked from commit 9f1c26ae8d)
2009-01-02 11:07:24 -08:00
Jeremy Huddleston
adbfd49da2 XQuartz: pbproxy: Push dpy init and CFRunLoop hook setup into the pbproxy thread to avoid possible deadlock
(cherry picked from commit 49e59d32b8)
2009-01-02 11:02:36 -08:00
Jeremy Huddleston
0676a580fc 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)
2008-12-31 12:45:31 -08:00
Jeremy Huddleston
0d2621b6d4 XQuartz: Make sure to reset the saved key state when deactivating X11.app
(cherry picked from commit 3eef78eb32)
2008-12-31 12:45:08 -08:00
Jeremy Huddleston
9faf3de7e5 XQuartz: Honor system key repeat rate
(cherry picked from commit 4303c9be39)
2008-12-31 12:44:50 -08:00
Jeremy Huddleston
4be8d7346b XQuartz: Better avoid stuck keys on context switches
(cherry picked from commit e9963f1a4f)
2008-12-31 12:43:13 -08:00
Jeremy Huddleston
c67a3e2972 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)
2008-12-31 12:42:57 -08:00
Jeremy Huddleston
d790c9dd04 XQuartz: Updated man page fullscreen_hotkeys fullscreen_menu
(cherry picked from commit 00f3a2e33c)
2008-12-31 12:42:46 -08:00
Jeremy Huddleston
338f096861 XQuartz: Try harder to get the user's login environment
(cherry picked from commit 6bedaddd78)
2008-12-28 22:17:26 -08:00
Jeremy Huddleston
61ae56f973 XQuartz: Reposition windows when we enter fullscreen to ensure our root window
(cherry picked from commit 7617d3659b)
2008-12-28 22:17:12 -08:00
Jeremy Huddleston
85347902d9 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)
2008-12-28 22:16:32 -08:00
Jeremy Huddleston
932ed6e949 XQuartz: Use depth=24 instead of FatalError if we can't figure out our depth
(cherry picked from commit 80b65c5b78)
2008-12-23 12:45:55 -08:00
Jeremy Huddleston
84f0c03418 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)
2008-12-21 21:36:00 -08:00
Jeremy Huddleston
7e7758e178 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)
2008-12-21 21:35:43 -08:00
Jeremy Huddleston
7dc0dafef1 XQuartz: Run applications via '/bin/sh -c ...' to support users who expect shell parsing
(cherry picked from commit 67455e716e)
2008-12-21 21:35:31 -08:00
Jeremy Huddleston
4c256c0e9c XQuartz: pbproxy: Release display notification lock when not needed to avoid deadlock
(cherry picked from commit 22f664ab95)
2008-12-21 21:35:20 -08:00
Jeremy Huddleston
ecc3a7b609 XQuartz: update quoting in case X11.app is moved to a directory with a space.
(cherry picked from commit cc805dc799)
2008-12-21 21:35:02 -08:00
Jeremy Huddleston
c3812aec97 XQuartz: Changed X11.sh to allow use of a ~/.x11run as requested by users of alternate shells
(cherry picked from commit b62ed1f8ea)
2008-12-21 21:34:48 -08:00
Jeremy Huddleston
102abeda37 XQuartz: Name the startup shell script X11 for better compatability
(cherry picked from commit f84613d6fc)
2008-12-17 13:56:55 -08:00