WTLIB99 with wine-010510 tar ball broken again

Eike Lantzsch eikelan at gmx.net
Tue May 15 06:30:43 CDT 2001


Hi:

Remember that I somewhat enthusiastically wrote that a VB3 program
called "Watchtower Library 1999" now works with wine-010508?
Well, [un]fortunately it is broken with again with the 
wine-010510 tar ball. (Thank you, Kin Lau for pointing this out to
me by e-mail.)

Description:
The main program window of WTLIB99 is just a small bar with buttons
and a menu on top of the buttons. When you point to a button a
tooltip comes up. The tooltip appears partly on top of the button
and partly outside the program window on the root window.
With cvs wine-010508 to cvs wine-010510 the tooltip appears and you
can press the button. The part of the tip, which came up in the 
program window disappears, only the part on the root window stays
and if you pointed to more than one button the tooltips fragments
clutter up on the root window. But it was functioning so far.
With cvs wine-010511 and the 010510 tar ball the tooltip is
repainted in a constant loop. When you move the program window away
under the tooltip a message appears on the console:

"err:msg: DispatchMessage16 BeginPaint not called on WM_PAINT for
hwnd 0578!"

The culprit:
On May 10, 2001 Alexandre released a patch, which obviously was
pointed out by Gerard. 

+
+       * dlls/x11drv/window.c, windows/win.c:
+       Fixed reparenting to desktop (found by Gerard Patel).
+

the patch:

diff -u -r ./wine-20010510/dlls/x11drv/window.c 
./wine-20010511/dlls/x11drv/window.c
--- ./wine-20010510/dlls/x11drv/window.c        
Mon May 14 16:48:08 2001
+++ ./wine-20010511/dlls/x11drv/window.c        
Mon May 14 17:48:00 2001
@@ -398,8 +398,9 @@
 
     dwStyle = wndPtr->dwStyle;
 
-    pWndParent = parent ? WIN_FindWndPtr(parent) : WIN_GetDesktop();
-    if (!pWndParent)
+    if (!parent) parent = GetDesktopWindow();
+
+    if (!(pWndParent = WIN_FindWndPtr(parent)))
     {
         WIN_ReleaseWndPtr( wndPtr );
         return 0;

When I revert to the cvs 010510 window.c and recompile the WTLIB99
works again.
The patch was done for a reason but what broke now? Seems that
the window pointer is never released. What was the trick to make
the debugger come up again at this point? How again do you set
a breakpoint? 

Best regards, Eike (now digging into the debug FM) Lantzsch

-- 
Eike Lantzsch             Casilla de Correo 1509, ASUNCION Paraguay



More information about the wine-users mailing list