ok, so now when it crashes:
Program received signal SIGSEGV, Segmentation fault. 0xb7f594b5 in DRIDoBlockHandler (screenNum=1, blockData=0x0, pTimeout=0x0, pReadmask=0x0) at dri.c:1417 1417 DRM_SPINUNLOCK(&pDRIPriv->pSAREA->drawable_lock, 1); (gdb) list 1412 DRI_2D_CONTEXT, 1413 pDRIPriv->partial3DContextStore); 1414 } 1415 1416 if (pDRIPriv->windowsTouched) 1417 DRM_SPINUNLOCK(&pDRIPriv->pSAREA->drawable_lock, 1); 1418 pDRIPriv->windowsTouched = FALSE; 1419 1420 DRIUnlock(pScreen); 1421 } (gdb)
So I made the obvious change of putting lines 1416-1420 inside: if (pDRIPriv){
}
and tried again and it no longer crashes.
Thanks for all your help.
I left in the earlier patch setting driverprivate to NULL.
ok, so now when it crashes:
Program received signal SIGSEGV, Segmentation fault. &pDRIPriv- >pSAREA- >drawable_ lock, 1); >partial3DConte xtStore) ; >windowsTouched ) &pDRIPriv- >pSAREA- >drawable_ lock, 1); >windowsTouched = FALSE;
0xb7f594b5 in DRIDoBlockHandler (screenNum=1, blockData=0x0, pTimeout=0x0,
pReadmask=0x0) at dri.c:1417
1417 DRM_SPINUNLOCK(
(gdb) list
1412 DRI_2D_CONTEXT,
1413
pDRIPriv-
1414 }
1415
1416 if (pDRIPriv-
1417 DRM_SPINUNLOCK(
1418 pDRIPriv-
1419
1420 DRIUnlock(pScreen);
1421 }
(gdb)
So I made the obvious change of putting lines 1416-1420 inside:
if (pDRIPriv){
}
and tried again and it no longer crashes.
Thanks for all your help.
I left in the earlier patch setting driverprivate to NULL.