Do not change workspace during deiconify animation
commita2133e8e2fa868e6284f78ec2ecb06294b2ee95d
authorCarlos R. Mafra <crmafra@gmail.com>
Sat, 26 Dec 2009 20:09:10 +0000 (26 21:09 +0100)
committerCarlos R. Mafra <crmafra@gmail.com>
Sat, 26 Dec 2009 20:09:10 +0000 (26 21:09 +0100)
treed2131ba92b2e02f405139e9f5e1a627695696da3
parentefa31f30b2bd2f43c1c466e36fc120cfc4b3e98e
Do not change workspace during deiconify animation

Paul Harris reported that using the mouse wheel over a miniwindow
would deiconify it to a different workspace than the original one
where it was iconified.

This happens because after the window begins to be deiconified the
"residual" mouse wheel scrolling hits the workspace background, and
Window Maker changes workspace with wWorkspaceRelativeChange().

But if it all happens fast enough (so the deiconification animation
did not finish yet) the workspace will have changed before the
window reaches its final deiconified destination, leading to
the situation that Paul described in the link below.

So to avoid this, let's set a 'ignore_wks_change' variable
from wDeiconifyWindow() and make wWorkspaceRelativeChange() respect it.

Original report: http://lists.windowmaker.info/dev/msg00821.html
src/actions.c
src/workspace.c