Tracked down the problem to a) a code change I made a few months ago to unify window managing
b) the assumption that you can not map,unmap, change workspaces and then remap the window. licq, gaim and I believe opera break this assumption. I have committed a code fix. There is also an assert left behind at the point where the code was corrupted in case this occurs again. Should make tracking the problem down a lot easier. In true C(++) fashion the crash was caused by a pointer being eaten behind the code's back.
