[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#406044: fix for crash confirmed




tags 406044 patch fixed-upstream
severity 406044 serious
thanks

After running for 2 weeks without a single crash I can confirm that this fix solves the problem.

I think this issue is serious enough to warrant being fixed in etch, therefor I've increased the severity to serious. (Just google how many other people report this same crash.)

In particular I'm doing so because it has a very simple and clear patch that fixes the problem, and because upstream has applied this patch to 7.2.

	-Ariel
--- xorg-server-1.1.1.orig/hw/xfree86/dri/dri.c
+++ xorg-server-1.1.1/hw/xfree86/dri/dri.c
@@ -1378,7 +1378,8 @@
     DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
 
     DRILock(pScreen, 0);
-    if (pDRIPriv->pDriverInfo->driverSwapMethod == DRI_HIDE_X_CONTEXT) {
+    if (pDRIPriv &&
+	pDRIPriv->pDriverInfo->driverSwapMethod == DRI_HIDE_X_CONTEXT) {
 	/* hide X context by swapping 2D component here */
 	(*pDRIPriv->pDriverInfo->SwapContext)(pScreen,
 					      DRI_3D_SYNC,
@@ -1396,6 +1397,8 @@
     ScreenPtr pScreen = screenInfo.screens[screenNum];
     DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
 
+    if (pDRIPriv) {
+
     if (pDRIPriv->pDriverInfo->driverSwapMethod == DRI_HIDE_X_CONTEXT) {
 	/* hide X context by swapping 2D component here */
 	(*pDRIPriv->pDriverInfo->SwapContext)(pScreen,
@@ -1410,6 +1413,8 @@
         DRM_SPINUNLOCK(&pDRIPriv->pSAREA->drawable_lock, 1);
     pDRIPriv->windowsTouched = FALSE;
 
+    }
+
     DRIUnlock(pScreen);
 }
 

Reply to: