[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
http://code.google.com/p/xmonad/issues/detail?id=96
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:
http://code.google.com/hosting/settings
More information about the xmonad
mailing list