
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