http://bugs.winehq.org/show_bug.cgi?id=23745
--- Comment #29 from Roman m01brv@mail.ru 2011-05-13 04:54:15 CDT --- I have found some time to return to this issue, and the more detailed sequence looks like the following:
After all loading stuff, the window has only a single property _NET_WM_STATE_FULLSCREEN in the _NET_WM_STATE list. When the user presses alt+tab and the game looses focus, it asks to minimize itself and awaits until it is restored. The wine layer basically calls XIconifyWindow() and then asks to remove the _NET_WM_STATE_FULLSCREEN atom (in the update_net_wm_states() function). Short after that, the window receives a few PropertyNotify events concerning _NET_WM_STATE, and by that time the content of the _NET_WM_STATE appears now: _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_MAXIMIZED_HORZ, _NET_WM_STATE_HIDDEN. I think these new atoms are added by KWin when it is iconifining the window - no other source looks possible. Wine does not request this, and by the time when it completes its request in update_net_wm_states(), the window still has only _NET_WM_STATE_FULLSCREEN. When the user attempts to restore the window from the taskbar, KWin removes the _NET_WM_STATE_HIDDEN property, but _NET_WM_STATE_MAXIMIZED_VERT and _NET_WM_STATE_MAXIMIZED_HORZ are not altered. _NET_WM_STATE_FULLSCREEN is not restored. Wine interpretes the window as a maximized one, and does not restore it, as I described in comment 22.
Summarizing, iconifining the window leads to loosing the fullscreen flag, which is not recovered by KWin automatically after restoring the window. Forcing the window to be always fullscreen in the KDE settings fixes the problem.