Re: NEWS on 1.6.0, crash fix... semi-fix (if you create and quickly delete a window sawfish will segfault)



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]