At 04:03 PM 28/08/2001 -0700, you wrote:
>Gerard Patel <gerard.patel(a)nerim.net> writes:
>
>> What this means is that any use of 16 bit code with
>> window handles in Wine will break as the handles
>> will be truncated. I already see many new crashes...
>
>Actually truncated handles should work just fine, the generation
>number is simply ignored if it is zero. There may theoretically be
>problems when we pass a truncated handle to a 32-bit app that compares
>it to a full 32-bit handle stored previously, but this should be
>fairly rare behavior. So your crashes are probably caused by something
>else.
>
.Backtrace for the next crash :
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code
(0x00462b9b).
In 32-bit mode.
0x00462b9b (eudora.exe.EntryPoint+0xb2ee in H:\eudora\eudora\eudora.exe):
movl 0x0(%eax),%eax™
>0 0x00462b9b (eudora.exe.EntryPoint+0xb2ee in H:\eudora\eudora\eudora.exe)
(ebp=406159c0)
1 0x00462dd7 (eudora.exe.EntryPoint+0xb52a in H:\eudora\eudora\eudora.exe)
(ebp=40615a04)
2 0x40724e33 (WINPROC_CallWndProc+0x73(proc=0x462daa, hwnd=0x3b, msg=0x87,
wParam=0x0, lParam=0x0) [winproc.c:171] in libuser32.so) (ebp=40615a30)
3 0x4072a919 (WINPROC_CallProc32WTo32A+0x89(func=0x462daa, hwnd=0x3b,
msg=0x87, wParam=0x0, lParam=0x0) [winproc.c:2442] in libuser32.so)
(ebp=40615a58)
4 0x4072af32 (CallWindowProcW+0xb2(func=0x40dc1069, hwnd=0x3b, msg=0x87,
wParam=0x0, lParam=0x0) [winproc.c:2683] in libuser32.so) (ebp=40615a8c)
5 0x406c37fe (call_window_proc+0x9e(hwnd=0x3b, msg=0x87, wparam=0x0,
lparam=0x0, unicode=0x1) [message.c:1108] in libuser32.so) (ebp=40615ae4)
6 0x406c434b (SendMessageTimeoutW+0xcb(hwnd=0x3b, msg=0x87, wparam=0x0,
lparam=0x0, flags=0x0, timeout=0xffffffff, res_ptr=0x40615b68)
[message.c:1498] in libuser32.so) (ebp=40615b44)
7 0x406c45c7 (SendMessageW+0x37(hwnd=0x3b, msg=0x87, wparam=0x0,
lparam=0x0) [message.c:1576] in libuser32.so) (ebp=40615b78)
8 0x406fb4ec (DEFDLG_SetFocus+0x5c(hwndDlg=0x1003a, hwndCtrl=0x3b)
[defdlg.c:32] in libuser32.so) (ebp=40615b9c)
9 0x406fb5d7 (DEFDLG_RestoreFocus+0x67(hwnd=0x1003a) [defdlg.c:74] in
libuser32.so) (ebp=40615b
This crash goes away by changing the HWND16 in DIALOG_INFO to HWND.
I have a third new one for you, but I have not the time to search for the
reason this night (there is
no hint of 16 bit handles here)
0x4071ff50 (GetParent+0x30 [win.c:2143] in libuser32.so): movl 0x20(%eax),%esi
2143 retvalue = wndPtr->parent->hwndSelf;
Wine-dbg>bt
bt
Backtrace:
=>0 0x4071ff50 (GetParent+0x30(hwnd=0x20021) [win.c:2143] in libuser32.so)
(ebp=40615e7c)
1 0x4070a17f (DefMDIChildProcA+0x1f(hwnd=0x20021, message=0x82,
wParam=0x0, lParam=0x0) [mdi.c:1617] in
libuser32.so) (ebp=40615e98)
2 0x00474107 (eudora.exe.EntryPoint+0x1c85a in
H:\eudora\eudora\eudora.exe) (ebp=40615f54)
3 0x00462ba3 (eudora.exe.EntryPoint+0xb2f6 in H:\eudora\eudora\eudora.exe)
(ebp=40615fc8)
4 0x00462dd7 (eudora.exe.EntryPoint+0xb52a in H:\eudora\eudora\eudora.exe)
(ebp=4061600c)
5 0x40724e83 (WINPROC_CallWndProc+0x73(proc=0x462daa, hwnd=0x20021,
msg=0x82, wParam=0x0, lParam=0x0) [w
inproc.c:171] in libuser32.so) (ebp=40616038)
6 0x4072ae72 (CallWindowProcA+0xb2(func=0x462daa, hwnd=0x20021, msg=0x82,
wParam=0x0, lParam=0x0) [winpr
oc.c:2647] in libuser32.so) (ebp=4061606c)
7 0x406c3823 (call_window_proc+0xc3(hwnd=0x20021, msg=0x82, wparam=0x0,
lparam=0x0, unicode=0x0) [messag
e.c:1112] in libuser32.so) (ebp=406160c4)
8 0x406c4496 (SendMessageTimeoutA+0xd6(hwnd=0x20021, msg=0x82, wparam=0x0,
lparam=0x0, flags=0x0, timeou
t=0xffffffff, res_ptr=0x40616148) [message.c:1544] in libuser32.so)
(ebp=40616124)
9 0x406c4617 (SendMessageA+0x37(hwnd=0x20021, msg=0x82, wparam=0x0,
lparam=0x0) [message.c:1587] in libu
ser32.so) (ebp=40616158)
10 0x4071d6a4 (WIN_DestroyWindow+0x94(wndPtr=0x40403d54) [win.c:420] in
libuser32.so) (ebp=40616180)
11 0x4071ebb2 (DestroyWindow+0x282(hwnd=0x20021) [win.c:1243] in
libuser32.so) (ebp=406161a0)
12 0x40708506 (MDIDestroyChild+0xd6(parent=0x1002b, ci=0x403f4528,
child=0x20021, flagDestroy=0x1) [mdi.
c:712] in libuser32.so) (ebp=406161c4)
13 0x407096d2 (MDIClientWndProc_common+0x3d2(hwnd=0x1002b, message=0x221,
wParam=0x20021, lParam=0x0, un
icode=0x0) [mdi.c:1295] in libuser32.so) (ebp=40616218)
14 0x407099f6 (MDIClientWndProcA+0x36(hwnd=0x1002b, message=0x221,
wParam=0x20021, lParam=0x0) [mdi.c:14
06] in libuser32.so) (ebp=4061623c)
15 0x40724e03 (WINPROC_wrapper+0x17 in libuser32.so) (ebp=40616260)
16 0x40724e83 (WINPROC_CallWndProc+0x73(proc=0x407099c0, hwnd=0x1002b,
msg=0x221, wParam=0x20021, lParam
=0x0) [winproc.c:171] in libuser32.so) (ebp=4061628c)
17 0x4072ae72 (CallWindowProcA+0xb2(func=0x407099c0, hwnd=0x1002b,
msg=0x221, wParam=0x20021, lParam=0x0
) [winproc.c:2647] in libuser32.so) (ebp=406162c0)
18 0x406c3823 (call_window_proc+0xc3(hwnd=0x1002b, msg=0x221,
wparam=0x20021, lparam=0x0, unicode=0x0) [
message.c:1112] in libuser32.so) (ebp=40616318)
19 0x406c4496 (SendMessageTimeoutA+0xd6(hwnd=0x1002b, msg=0x221,
wparam=0x20021, lparam=0x0, flags=0x0,
All I can say for now is that wndPtr->parent is NULL.
And I have yet another 20 apps to try :-)
Gerard