Re: NEWS on 1.6.0, crash fix... semi-fix (if you create and quickly delete a window sawfish will segfault)
- From: Teika Kazura <teika lavabit com>
- To: sawfish-list gnome org
- Subject: Re: NEWS on 1.6.0, crash fix... semi-fix (if you create and quickly delete a window sawfish will segfault)
- Date: Sat, 10 Oct 2009 13:28:04 +0900 (JST)
Hi. Perhaps a digression. It's on how John Harper did.
Commit log of b14ab says:
------------------------------------------------------------------------
2001-02-18 John Harper <jsh eazel com>
* functions.c (Frestack_windows, Fx_raise_window,
Fx_lower_window): be sure to never alter the stacking of
destroyed windows
[ I think this should fix the random crashes that some people
have been experiencing - it was possible for a deleted window
to be reinserted in the stacking list. Then, when the deleted
window got garbage collected bogus pointers were left in the
list.. ]
[snipped]
------------------------------------------------------------------------
So he had to solve the crash for the similar reason. But after looking
at the Timo's patch and explanation, Harper's original code looks
incomplete. I wonder why. It's the advantage of hindsight, though.
In this commit, he introduced the macro WINDOW_IS_GONE_P, and replaced
existing checks with it. And in the commit right after the above one,
he inserts three more WINDOW_IS_GONE_P.
On Fri, 9 Oct 2009 22:05:44 +0200, Janek Kozicki wrote:
> PS: As a side note - the XGrabServer method didn't work at all.
> Instant crash on first try, even though XGrabServer() indeed grabs
> server! I tested that it indeed grabs server with simple attached program :)
>
Grabbing the server may not be necessary, but if it is, use
F[un]grab_server instead of raw XGrabServer. The former takes care
for nesting, so less prone to bug.
Regards,
Teika (Teika kazura)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]