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. ** Forward declarations.
--- GL/mesa/X/xf86glx.c.orig 2007-01-23 12:48:28.000000000 +0100 --- 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 +++ GL/mesa/X/xf86glx.c 2007-01-25 16:50:19.000000000 +0100
@@ -95,12 +95,70 @@ static XMesaVisual find_mesa_visual(__GL @@ -95,12 +95,74 @@ static XMesaVisual find_mesa_visual(__GL
static void static void
@ -123,15 +123,19 @@ Matthias Hopf <mhopf@suse.de>
__glXMesaDrawableDestroy(__GLXdrawable *base) __glXMesaDrawableDestroy(__GLXdrawable *base)
{ {
__GLXMESAdrawable *glxPriv = (__GLXMESAdrawable *) base; __GLXMESAdrawable *glxPriv = (__GLXMESAdrawable *) base;
+ ClientPtr client = __glXClients[CLIENT_ID(base->drawId)]->client;
- if (glxPriv->xm_buf != NULL) - if (glxPriv->xm_buf != NULL)
+ if (glxPriv->xm_buf != NULL) { + if (glxPriv->xm_buf != NULL) {
+ /* There may still be stray pointers in contexts that are no longer + /* There may still be stray pointers in contexts that are no longer
+ * visible to Mesa. Scan all contexts for this client and nuke those + * visible to Mesa. Scan all contexts for this client and nuke those
+ * pointers */ + * pointers */
+ FindClientResourcesByType(client, __glXContextRes, + int clientId = CLIENT_ID(base->drawId);
+ __glXMesaDrawableDestoryCB, glxPriv); + if (clientId >=0 && clientId < MAXCLIENTS+1 && __glXClients[clientId]) {
+ ClientPtr client = __glXClients[clientId]->client;
+ if (client)
+ FindClientResourcesByType(client, __glXContextRes,
+ __glXMesaDrawableDestoryCB, glxPriv);
+ }
XMesaDestroyBuffer(glxPriv->xm_buf); XMesaDestroyBuffer(glxPriv->xm_buf);
+ } + }
xfree(glxPriv); 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 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/ URL: http://xorg.freedesktop.org/
%define EXPERIMENTAL 0 %define EXPERIMENTAL 0
Version: 7.2 Version: 7.2
Release: 47 Release: 48
License: X11/MIT License: X11/MIT
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
Group: System/X11/Servers/XF86_4 Group: System/X11/Servers/XF86_4
@ -498,6 +498,9 @@ exit 0
%endif %endif
%changelog -n xorg-x11-server %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 * Wed Jan 24 2007 - sndirsch@suse.de
- fixed build - fixed build
* Wed Jan 24 2007 - sndirsch@suse.de * Wed Jan 24 2007 - sndirsch@suse.de