Last week, I appended about this problem: Application windows under wine disappear if you switch to a different virtual desktop and then back under either AfterStep or Enlightenment window managers. The program is still apparently running (according to top), but there is no way to retrieve it and it no longer appears in the window manager's window list. It has to be killed off and restarted.
I have now isolated the problem to the change made to wine/dlls/x11drv/winpos.c in patch http://cvs.winehq.org/patch.py?id=12173 on 4/27/2004. I do not know enough to take it further.
For what it is worth, today's cvs wine with a 4/26 version of winpos.c seems to work just fine.
Thanks, Paul z/OS core components development Internet: prs@us.ibm.com
Paul R Streitman prs@us.ibm.com writes:
Last week, I appended about this problem: Application windows under wine disappear if you switch to a different virtual desktop and then back under either AfterStep or Enlightenment window managers. The program is still apparently running (according to top), but there is no way to retrieve it and it no longer appears in the window manager's window list. It has to be killed off and restarted.
Does this help?
Index: dlls/x11drv/winpos.c =================================================================== RCS file: /opt/cvs-commit/wine/dlls/x11drv/winpos.c,v retrieving revision 1.85 diff -u -p -r1.85 winpos.c --- dlls/x11drv/winpos.c 14 Jun 2004 19:32:21 -0000 1.85 +++ dlls/x11drv/winpos.c 17 Jun 2004 03:19:19 -0000 @@ -1014,7 +1014,7 @@ BOOL X11DRV_SetWindowPos( WINDOWPOS *win RDW_NOERASE | RDW_NOINTERNALPAINT | RDW_ALLCHILDREN ); set_visible_style( winpos->hwnd, FALSE ); } - else if ((wndPtr->dwStyle & WS_VISIBLE) && + else if ((wndPtr->dwStyle & WS_VISIBLE) && bChangePos && X11DRV_is_window_rect_mapped( &oldWindowRect ) && !X11DRV_is_window_rect_mapped( &newWindowRect )) { @@ -1046,7 +1046,7 @@ BOOL X11DRV_SetWindowPos( WINDOWPOS *win { set_visible_style( winpos->hwnd, TRUE ); } - else if ((wndPtr->dwStyle & WS_VISIBLE) && + else if ((wndPtr->dwStyle & WS_VISIBLE) && bChangePos && !X11DRV_is_window_rect_mapped( &oldWindowRect ) && X11DRV_is_window_rect_mapped( &newWindowRect )) {
Alexandre,
Yes, this does help. I see that current CVS has other quirks (strange scrollbars, etc), but with this patch I do not see the disappearing window problem at all.
Thanks, Paul z/OS core components development Internet: prs@us.ibm.com
Alexandre Julliard <julliard@winehq. To org> Paul R Sent by: Streitman/Poughkeepsie/IBM@IBMUS wine-devel-admin@ cc winehq.org wine-devel@winehq.org Subject Re: wine window disappears from 06/16/2004 11:35 virtual desktop! PM
Paul R Streitman prs@us.ibm.com writes:
Last week, I appended about this problem: Application windows under wine disappear if you switch to a different virtual desktop and then back
under
either AfterStep or Enlightenment window managers. The program is still apparently running (according to top), but there is no way to retrieve it and it no longer appears in the window manager's window list. It has to
be
killed off and restarted.
Does this help?
Index: dlls/x11drv/winpos.c =================================================================== RCS file: /opt/cvs-commit/wine/dlls/x11drv/winpos.c,v retrieving revision 1.85 diff -u -p -r1.85 winpos.c --- dlls/x11drv/winpos.c 14 Jun 2004 19:32:21 -0000 1.85 +++ dlls/x11drv/winpos.c 17 Jun 2004 03:19:19 -0000 @@ -1014,7 +1014,7 @@ BOOL X11DRV_SetWindowPos( WINDOWPOS *win RDW_NOERASE | RDW_NOINTERNALPAINT | RDW_ALLCHILDREN ); set_visible_style( winpos->hwnd, FALSE ); } - else if ((wndPtr->dwStyle & WS_VISIBLE) && + else if ((wndPtr->dwStyle & WS_VISIBLE) && bChangePos && X11DRV_is_window_rect_mapped( &oldWindowRect ) && !X11DRV_is_window_rect_mapped( &newWindowRect )) { @@ -1046,7 +1046,7 @@ BOOL X11DRV_SetWindowPos( WINDOWPOS *win { set_visible_style( winpos->hwnd, TRUE ); } - else if ((wndPtr->dwStyle & WS_VISIBLE) && + else if ((wndPtr->dwStyle & WS_VISIBLE) && bChangePos && !X11DRV_is_window_rect_mapped( &oldWindowRect ) && X11DRV_is_window_rect_mapped( &newWindowRect )) {
-- Alexandre Julliard julliard@winehq.org