[xmonad] Issue 96 in xmonad: certain dialogs get dropped in gnucash

codesite-noreply at google.com codesite-noreply at google.com
Wed Dec 12 20:35:16 EST 2007

Issue 96: certain dialogs get dropped in gnucash

Comment #4 by jcreigh:
dons on #xmonad requested a little more detail on the resolution of 
this bug, so this
is my attempt to clarify matters. The version of Gnucash I tested 
against was 2.2.1

The issue was that xmonad was unmapping a window when it received a synthetic
UnmapNotify event but when the (real) UnmapNotify response came from xmonad's
UnmapWindow request, xmonad was failing to ignore that event.

This gets us in trouble with Gnucash, which, for some reason, sends, 
one after the
other, a MapRequest, a synthetic UnmapNotify and then another 
MapRequest. So xmonad
would map it, unmap it (which generates an UnmapNotify, but we won't 
get it until
later) and then map it again. Shortly thereafter the UnmapNotify would 
arrive and
xmonad would unmap the window.

The solution was to change "unmanage" (which gets called on unmap when 
we aren't
expecting any events) to not clear the waitingUnmap number for that 
window and
instead do that on a DestroyWindowEvent so that the UnmapNotify from an unmapping
that we request will be ignored.

This fix leaves a little something to be desired in that there is a 
slight flicker
because the window gets mapped, unmapped, and then mapped again, but 
seems like a
very minor issue to me and I don't see what we can do about that 
without getting into
some sort of stateful event handling system.

You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:

More information about the xmonad mailing list