X11 crash on exit
Tim Kientzle
kientzle at freebsd.org
Sun Mar 14 23:26:53 UTC 2010
Garrett Cooper wrote:
>> I implemented the fix I suggested earlier (scanning
>> the WindowTable to remove Window objects as they're
>> deleted) and it does consistently resolve the crash,
>> but now the X server restarts itself when xinit asks
>> it to exit, so there's clearly still something amiss.
>>
>> Patch attached for anyone interested.
>
> Patch, what patch?
> -Garrett
Apologies. Patch pasted below (for mailing list) and attached (for
direct addressees):
--- dix/window.c.orig 2009-10-11 19:52:40.000000000 -0700
+++ dix/window.c 2010-03-14 00:02:18.000000000 -0800
@@ -936,6 +936,7 @@
WindowPtr pParent;
WindowPtr pWin = (WindowPtr)value;
xEvent event;
+ int i;
UnmapWindow(pWin, FALSE);
@@ -964,6 +965,13 @@
xfree(dixLookupPrivate(&pWin->devPrivates, FocusPrivatesKey));
dixFreePrivates(pWin->devPrivates);
xfree(pWin);
+
+ for (i = 0; i < MAXSCREENS; ++i)
+ {
+ if (WindowTable[i] == pWin)
+ WindowTable[i] = NullWindow;
+ }
+
return Success;
}
More information about the freebsd-current
mailing list