WTLIB99 with wine-010510 tar ball broken again

g.patel at wanadoo.fr g.patel at wanadoo.fr
Tue May 15 18:00:22 CDT 2001


On Tue, 15 May 2001 17:38:08 -0400, eikelan at gmx.net (Eike Lantzsch)
wrote:

>I cant even get to anything in desktop mode. The splash screen appears
>on a black background. Then disappears and leaves a cyan square at
>the place of the splash screen then the program hangs.

Too bad :-/

>As for the first question, it _seems_ to be the same problem from the
>appearance but to give a definite answer if it is the same program
>portion I need to recompile and
>see with a breakpoint and step my way through.

This could be interesting. 
After 24 april I had a few apps working better (mostly combo dropping
while they had always failed to do before). But I had 2 additional
crashes.
The 10 may patch fixed the 2 crashes but destroyed the 
better behaviour for the combos.  My idea is that the 10 may
patch is correct, on 24 april a bug was added that really
was hiding another bug (or maybe a Wine limitation).

The 10 may patch fixes the following problem : when you
call SetParent under Windows, it does not matter if you
call it with the desktop window handle or 0 as parent.
The 24 may patch changed that, the following was that
some windows that were reparented using SetParent(handle, 0)
were flagged as 'managed' or 'native' (X window) but had really no
X window counterpart. When Wine was trying to use X Api
calls on these windows, it was crashing.

I am pretty sure that the 10 may patch is 'more correct' that 
the previous situation.

Maybe this could be an occasion to fix the original 
problem.
My guess is that this kind of problem (your original bug) 
is often caused by 0-size windows (x or y size <= 0)
Rad programs like Vb are often doing this stuff. It's a big 
problem for Win32 emulation because X Window do not support a 
visible window with size <= 0. Wine support for this is far from
perfect. That's why I was suggesting desktop mode - in this
mode every window is emulated by Wine, so 0 size windows
are not a problem.
If you have intesting traces I could take a look.

>I dont know if this is related:
>With the window.c version before 01-05-10 if I set a breakpoint
>in SetParent here
>
>{
>WIN_ReleaseWndPtr( wndPtr);
>return 0;
>}
>
>DbgUserBreakPoint();
>
>after a stepi with "info locals" I get only one
>parent == 0x00000000

'info local' is not very reliable. My guess is that optimization
(Wine is compiled with maximal optimization) is not doing 
much good for the general accuracy of debugger information.
Sometimes using the x command does not give the same
result as 'info local'.

>If I do the same with the later version from 01-05-11
>
>I get TWO
>
>parent == 0x00000000
>parent == 0x0000008c
>
>The values for pWndParent and wndPtr are the same in both cases.
>How can I get two local variables with the same name?

I don't know. I use winedbg mostly to get backtraces. 
Other than that, I try to stay away of it.

Gerard



More information about the wine-users mailing list