On Mon, 28 Aug 2006, Andreas Ehliar wrote:
I have a problem with fpga_editor as reported in bug 4062. With some
help from #fvwm I managed to find something suspicious. fpga_editor
does an UnmapWindow request and a MapWindow request right after each
other.
An example program that does the same is located at
http://www.da.isy.liu.se/~ehliar/priv/map_unmap.c .
The example program will show a window for 1 second and it will then
disappear if running under fvwm.
The bug seems very similar to the bug reported in this thread:
http://www.mail-archive.com/fvwm@hpc.uh.edu/msg08195.html
This bug is related to the handling of MapRequests in fvwm. (See
http://www.mail-archive.com/fvwm-workers@lists.math.uh.edu/msg15491.html.)
I know of three different ways to address it, but don't know if there is
any downside to them.
The different approches are
1) Change AddWindow to look at the trigger event for the mapped window if
the window in the execution context is gone. I think this is too late in
the line to address this.
2) Change the Handling of MapRequest to call AddWindow with the window
being mapped in the execution context. (I think this is better than 1)
3) Decide that Maps following Unmaps is a bad application behaviour and
have the handling of Unmap check if the window is about to remap before
deciding to destroy it.
I'm most interested in knowing if there would be any downside with
solution 3, in which case solution 2 is the one to take.
/Viktor