1
0
OBS User unknown 2007-01-26 00:08:38 +00:00 committed by Git OBS Bridge
parent 5d131546db
commit f898df8304
3 changed files with 19 additions and 6 deletions

View File

@ -64,8 +64,8 @@ Matthias Hopf <mhopf@suse.de>
** Forward declarations.
--- GL/mesa/X/xf86glx.c.orig 2007-01-23 12:48:28.000000000 +0100
+++ GL/mesa/X/xf86glx.c 2007-01-23 19:37:23.000000000 +0100
@@ -95,12 +95,70 @@ static XMesaVisual find_mesa_visual(__GL
+++ GL/mesa/X/xf86glx.c 2007-01-25 16:50:19.000000000 +0100
@@ -95,12 +95,74 @@ static XMesaVisual find_mesa_visual(__GL
static void
@ -123,15 +123,19 @@ Matthias Hopf <mhopf@suse.de>
__glXMesaDrawableDestroy(__GLXdrawable *base)
{
__GLXMESAdrawable *glxPriv = (__GLXMESAdrawable *) base;
+ ClientPtr client = __glXClients[CLIENT_ID(base->drawId)]->client;
- if (glxPriv->xm_buf != NULL)
+ if (glxPriv->xm_buf != NULL) {
+ /* There may still be stray pointers in contexts that are no longer
+ * visible to Mesa. Scan all contexts for this client and nuke those
+ * pointers */
+ FindClientResourcesByType(client, __glXContextRes,
+ __glXMesaDrawableDestoryCB, glxPriv);
+ int clientId = CLIENT_ID(base->drawId);
+ if (clientId >=0 && clientId < MAXCLIENTS+1 && __glXClients[clientId]) {
+ ClientPtr client = __glXClients[clientId]->client;
+ if (client)
+ FindClientResourcesByType(client, __glXContextRes,
+ __glXMesaDrawableDestoryCB, glxPriv);
+ }
XMesaDestroyBuffer(glxPriv->xm_buf);
+ }
xfree(glxPriv);

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Thu Jan 25 17:56:57 CET 2007 - sndirsch@suse.de
- bug-211314_p_drawable_privclean.diff:
* fixed for cleaning up pointers
-------------------------------------------------------------------
Wed Jan 24 19:17:06 CET 2007 - sndirsch@suse.de

View File

@ -21,7 +21,7 @@ BuildRequires: libjpeg-devel
URL: http://xorg.freedesktop.org/
%define EXPERIMENTAL 0
Version: 7.2
Release: 47
Release: 48
License: X11/MIT
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Group: System/X11/Servers/XF86_4
@ -498,6 +498,9 @@ exit 0
%endif
%changelog -n xorg-x11-server
* Thu Jan 25 2007 - sndirsch@suse.de
- bug-211314_p_drawable_privclean.diff:
* fixed for cleaning up pointers
* Wed Jan 24 2007 - sndirsch@suse.de
- fixed build
* Wed Jan 24 2007 - sndirsch@suse.de