I found and downloaded Eudora Light 3.06, did some investigations
and found:

focus.c, line 138:
SetFocus() calls WINPOS_SetActiveWindow if needed.

winpos.c, line 1771:
WINPOS_SetActiveWindow() calls SetWindowPos() in not managed mode
and does not call in managed.

I think, to workaround this bug the hack in defwnd.c was introduced.

Removing check for managed mode in winpos.c, line 1771 cures Eudora.

Is this fix correct?

-- wine/windows/winpos.c Mon Apr 10 03:03:04 2000
+++ wine/windows/winpos.c Tue Apr 25 01:14:50 2000
@@ -1767,8 +1767,7 @@
     /* if prev wnd is minimized redraw icon title */
     if( IsIconic( hwndPrevActive ) ) WINPOS_RedrawIconTitle(hwndPrevActive);

-    /* managed windows will get ConfigureNotify event */
-    if (wndPtr && !(wndPtr->dwStyle & WS_CHILD) && !(wndPtr->flags & WIN_MANAGED))
+    if (wndPtr && !(wndPtr->dwStyle & WS_CHILD))
     {
  /* check Z-order and bring hWnd to the top */
  for (wndTemp = WIN_LockWndPtr(WIN_GetDesktop()->child); wndTemp;
WIN_UpdateWndPtr(&wndTemp,wndTemp->next))


Reply via email to