xserver/hw/xquartz
George Staplin bede83eb19 XQuartz: Fix a memory leak with surfaces that a new test found.
xp_destroy_surface was called with a surface id of 0, due to some
premature cleanup that set it to 0.  This means the surfaces
weren't being destroyed until the window was.

The code that did that was: pDRIDrawablePriv->sid = 0;

In long running applications this leak may or may not have been
harmful.  With the old libGL the surfaces weren't destroyed until
the context was destroyed or a new context created.  In the new
libGL they are reference counted, and released much sooner, so we
ran into a resource leak more noticeably with some tests.

Make the Apple DRI code dispatch events to the client(s) for
destroyed surfaces, when a resource is destroyed.  This seems to
work in my tests, however this clearly wasn't working for a while,
so bugs may result in the future if it enables some new (unexpected)
side effects.

Also add a few helpful comments to aid in understanding the code
in the future.

Tested with the test suite, Pymol, and various Mesa demos.
2009-03-04 01:39:58 -07:00
..
bundle bundle version 2.3.3 2009-02-25 11:31:05 -08:00
doc XQuartz: Updated man page fullscreen_hotkeys fullscreen_menu 2008-12-29 00:30:31 -08:00
GL XQuartz: GL: Fix a problem with uninitialized data in __glXAquaScreenProbe. 2009-03-02 01:22:15 -07:00
mach-startup Revert "XQuartz: Re-enable rlAccel" 2009-02-05 13:08:15 -08:00
pbproxy XQuartz: pbproxy: Push dpy init and CFRunLoop hook setup into the pbproxy thread to avoid possible deadlock 2009-01-02 10:58:40 -08:00
xpr XQuartz: Fix a memory leak with surfaces that a new test found. 2009-03-04 01:39:58 -07:00
applewm.c XQuartz: Handled sanitization of namespace better 2008-04-18 20:16:06 -07:00
applewmExt.h Darwin: Flattened quartz into darwin, renamed darwin xquartz 2007-12-05 20:26:16 -08:00
darwin.c XQuartz: darwinPointer reports the actual pixel position now rather than a relative position 2008-12-05 16:18:09 -08:00
darwin.h XQuartz: More Tiger ifdefs 2008-11-21 10:53:39 -08:00
darwinClut8.h Darwin: Flattened quartz into darwin, renamed darwin xquartz 2007-12-05 20:26:16 -08:00
darwinEvents.c XQuartz: Re-enable support for capslock 2009-02-24 23:12:57 -08:00
darwinEvents.h XQuartz: Only call DarwinUpdateModKeys when needed 2009-01-11 16:39:15 -08:00
darwinXinput.c add debug statements so we can see if/when our Xinput stubs are getting called. 2008-03-31 21:32:19 -07:00
keysym2ucs.c Darwin: Flattened quartz into darwin, renamed darwin xquartz 2007-12-05 20:26:16 -08:00
keysym2ucs.h Darwin: Flattened quartz into darwin, renamed darwin xquartz 2007-12-05 20:26:16 -08:00
Makefile.am XQuartz: unsetenv(DISPLAY) if we're not org.x.X11 2008-12-08 21:00:11 -08:00
pseudoramiX.c XQuartz: Set noPanoramixExtension earlier to avoid a possible race. 2008-06-25 11:51:27 -07:00
pseudoramiX.h Darwin: Flattened quartz into darwin, renamed darwin xquartz 2007-12-05 20:26:16 -08:00
quartz.c Revert "XQuartz: DefineInitialRootWindow is gone" 2009-02-22 00:42:09 -08:00
quartz.h XQuartz: Dead code removal 2008-11-22 20:23:46 -08:00
quartzAudio.c XQuartz: Resurrect the old audio path for Tiger 2008-11-21 10:44:11 -08:00
quartzAudio.h Darwin: Flattened quartz into darwin, renamed darwin xquartz 2007-12-05 20:26:16 -08:00
quartzCocoa.m XQuartz: Set noPanoramixExtension earlier to avoid a possible race. 2008-06-25 11:51:27 -07:00
quartzCommon.h XQuartz: More fullscreen fixes 2008-10-21 09:07:08 -07:00
quartzKeyboard.c XQuartz: Don't erase the mode_switch+keysym if it's the same as shift+keysym 2009-02-26 21:22:48 -08:00
quartzKeyboard.h XQuartz: Fixed threading issue with TSM. 2008-09-24 22:51:03 -07:00
quartzPasteboard.c just a bit of juggling headers around -- we're preparing 2008-03-31 21:34:03 -07:00
quartzPasteboard.h just a bit of juggling headers around -- we're preparing 2008-03-31 21:34:03 -07:00
quartzStartup.c Xquartz: Removed include directive for removed header 2008-06-11 11:44:45 -07:00
sanitizedCarbon.h XQuartz: Handled sanitization of namespace better 2008-04-18 20:16:06 -07:00
sanitizedCocoa.h XQuartz: Handled sanitization of namespace better 2008-04-18 20:16:06 -07:00
threadSafety.c XQuartz: spewCallStack is noop on Tiger now... 2008-11-21 10:57:31 -08:00
threadSafety.h XQuartz: Cleaned up startup and thread creation a tad. 2008-04-26 19:17:42 -07:00
X11Application.h XQuartz: Added option to enable/disable test extensions 2008-11-28 12:55:18 -08:00
X11Application.m XQuartz: Comment out the background pointer interaction that seems to be causing CPU spinning on some configurations 2009-02-24 18:54:16 -08:00
X11Controller.h XQuartz: Add option to allow access to the menu in fullscreen mode 2008-10-31 20:03:34 -07:00
X11Controller.m XQuartz: Run applications via '/bin/sh -c ...' to support users who expect shell parsing 2008-12-21 14:54:11 -08:00