rpms/xorg-x11-server/F-9 xserver-1.5.0-f-spot-screws-glx.patch, NONE, 1.1 xorg-x11-server.spec, 1.328, 1.329
Dave Airlie (airlied)
fedora-extras-commits at redhat.com
Thu Apr 24 06:48:14 UTC 2008
Author: airlied
Update of /cvs/pkgs/rpms/xorg-x11-server/F-9
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv17817
Modified Files:
xorg-x11-server.spec
Added Files:
xserver-1.5.0-f-spot-screws-glx.patch
Log Message:
* Thu Apr 24 2008 Dave Airlie <airlied at redhat.com> 1.4.99.901-25.20080415
- xserver-1.5.0-f-spot-screws-glx.patch: stop GLX crashing X server when
f-spot exists (#443299)
xserver-1.5.0-f-spot-screws-glx.patch:
--- NEW FILE xserver-1.5.0-f-spot-screws-glx.patch ---
>From ae982a27e4059fecd4048d245e6aa02f8dcc97d0 Mon Sep 17 00:00:00 2001
From: Dave Airlie <airlied at redhat.com>
Date: Thu, 24 Apr 2008 16:37:29 +1000
Subject: [PATCH] glx: test for valid read and draw privates before using them
this should fix a bug where f-spot exiting blows up the X server
---
GL/glx/glxutil.c | 58 +++++++++++++++++++++++++++--------------------------
1 files changed, 30 insertions(+), 28 deletions(-)
diff --git a/GL/glx/glxutil.c b/GL/glx/glxutil.c
index 11e9f89..aa23a95 100644
--- a/GL/glx/glxutil.c
+++ b/GL/glx/glxutil.c
@@ -81,38 +81,40 @@ __glXDeassociateContext(__GLXcontext *glxc)
__GLXcontext *curr, *prev;
prev = NULL;
- for ( curr = glxc->drawPriv->drawGlxc
- ; curr != NULL
- ; prev = curr, curr = curr->nextDrawPriv ) {
- if (curr == glxc) {
- /* found context. Deassociate. */
- if (prev == NULL) {
- glxc->drawPriv->drawGlxc = curr->nextDrawPriv;
- } else {
- prev->nextDrawPriv = curr->nextDrawPriv;
+ if (glxc->drawPriv) {
+ for ( curr = glxc->drawPriv->drawGlxc; curr != NULL
+ ; prev = curr, curr = curr->nextDrawPriv ) {
+ if (curr == glxc) {
+ /* found context. Deassociate. */
+ if (prev == NULL) {
+ glxc->drawPriv->drawGlxc = curr->nextDrawPriv;
+ } else {
+ prev->nextDrawPriv = curr->nextDrawPriv;
+ }
+ curr->nextDrawPriv = NULL;
+ __glXUnrefDrawable(glxc->drawPriv);
+ break;
}
- curr->nextDrawPriv = NULL;
- __glXUnrefDrawable(glxc->drawPriv);
- break;
- }
+ }
}
-
prev = NULL;
- for ( curr = glxc->readPriv->readGlxc
- ; curr != NULL
- ; prev = curr, curr = curr->nextReadPriv ) {
- if (curr == glxc) {
- /* found context. Deassociate. */
- if (prev == NULL) {
- glxc->readPriv->readGlxc = curr->nextReadPriv;
- } else {
- prev->nextReadPriv = curr->nextReadPriv;
- }
- curr->nextReadPriv = NULL;
- __glXUnrefDrawable(glxc->readPriv);
- break;
- }
+ if (glxc->readPriv) {
+ for ( curr = glxc->readPriv->readGlxc
+ ; curr != NULL
+ ; prev = curr, curr = curr->nextReadPriv ) {
+ if (curr == glxc) {
+ /* found context. Deassociate. */
+ if (prev == NULL) {
+ glxc->readPriv->readGlxc = curr->nextReadPriv;
+ } else {
+ prev->nextReadPriv = curr->nextReadPriv;
+ }
+ curr->nextReadPriv = NULL;
+ __glXUnrefDrawable(glxc->readPriv);
+ break;
+ }
+ }
}
}
--
1.5.4.1
Index: xorg-x11-server.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-server/F-9/xorg-x11-server.spec,v
retrieving revision 1.328
retrieving revision 1.329
diff -u -r1.328 -r1.329
--- xorg-x11-server.spec 23 Apr 2008 07:07:38 -0000 1.328
+++ xorg-x11-server.spec 24 Apr 2008 06:47:31 -0000 1.329
@@ -20,7 +20,7 @@
Summary: X.Org X11 X server
Name: xorg-x11-server
Version: 1.4.99.901
-Release: 24.%{gitdate}%{?dist}
+Release: 25.%{gitdate}%{?dist}
URL: http://www.x.org
License: MIT
Group: User Interface/X
@@ -54,6 +54,7 @@
# Trivial things to maybe merge upstream at next rebase
Patch3000: xserver-1.5.0-stenciled-visuals.patch
Patch3001: xserver-1.5.0-glcore-swap-no-crashy.patch
+Patch3002: xserver-1.5.0-f-spot-screws-glx.patch
# Trivial things to never merge upstream ever
# Don't merge this without protecting the gccisms.
@@ -515,6 +516,10 @@
%changelog
+* Thu Apr 24 2008 Dave Airlie <airlied at redhat.com> 1.4.99.901-25.20080415
+- xserver-1.5.0-f-spot-screws-glx.patch: stop GLX crashing X server when
+ f-spot exists (#443299)
+
* Wed Apr 23 2008 Dave Airlie <airlied at redhat.com> 1.4.99.901-24.20080415
- xserver-1.5.0-glcore-swap-no-crashy.patch: Fix issue with googleearth
crashing GLcore.
More information about the fedora-extras-commits
mailing list