[Bug 10467] Making Microsoft .NET 2.0 to work in wine, based on example app FastMD5 1.4 for NET 2.0

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Nov 16 08:19:03 CST 2007


http://bugs.winehq.org/show_bug.cgi?id=10467





--- Comment #4 from Anastasius Focht <focht at gmx.net>  2007-11-16 08:19:02 ---
Created an attachment (id=9199)
 --> (http://bugs.winehq.org/attachment.cgi?id=9199)
patch which fixes empty LPARAM for initial CDM_xxx messages in
FILEDLG95_HandleCustomDialogMessages

Hello,

again :-)

Prerequisite:

1) wine-0.9.49 (or GIT)
2) successful installation of .NET 2.0 Framework
3) "l_intl.nls" copied from windows installation to wine system32
4) PEB loader lock patch from http://bugs.winehq.org/attachment.cgi?id=9195
5) true type fonts correctly installed for native gdiplus (comment #2)
6) WinStation patch from http://bugs.winehq.org/attachment.cgi?id=9198

----

With that stuff in place, the .NET app starts but as soon as the "browse"
button is clicked it crashes.
Turns out this probably not .NET related bug but I added it here because it's
needed to get this app to work.

--- snip ---
fixme:commdlg:GetFileName95 Flags 0x00800000 not yet implemented
First chance exception: page fault on write access to 0x00000000 in 32-bit code
(0x75789bca).
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
 EIP:75789bca ESP:0034c8f0 EBP:0034cd5c EFLAGS:00210247(   - 00      RIZP1C)
 EAX:6165facc EBX:61665600 ECX:00000000 EDX:0034ed7c
 ESI:001ba260 EDI:00000000
Stack dump:
0x0034c8f0:  61647762 00000000 001ba260 00000002
0x0034c900:  00000000 03a28298 00000000 00000000
0x0034c910:  0000000f 00000000 00000000 0034c90e
0x0034c920:  00000000 00040068 0034ed7c 00000000
0x0034c930:  00000000 02f842c4 00000000 00000000
0x0034c940:  02f80010 00000000 00000000 00000001
Backtrace:
=>1 0x75789bca (0x0034cd5c)
  2 0x616484a1 FileOpenDlgProc95+0x661(hwnd=0x40068, uMsg=0x464, wParam=0x0,
lParam=0x0) [/usr/local/src/wine/dlls/comdlg32/filedlg.c:1118] in comdlg32
(0x0034d41c)
  3 0x602b653a WINPROC_wrapper+0x1a() in user32 (0x0034d44c)
  4 0x602b8368 call_dialog_proc+0x68(hwnd=<register EDI not in topmost frame>,
msg=0x464, wp=0x0, lp=0x0, result=0x34d4bc, arg=0x61647e40)
[/usr/local/src/wine/dlls/user32/winproc.c:479] in user32 (0x0034d48c)
  5 0x602baa8a WINPROC_CallDlgProcW+0x5a(func=0xffff003d, hwnd=0x40068,
msg=0x464, wParam=<register EDI not in topmost frame>, lParam=0x0)
[/usr/local/src/wine/dlls/user32/winproc.c:2394] in user32 (0x0034d4cc)
  6 0x6024aeb5 DefDlgProcW+0x85(hwnd=<register ESI not in topmost frame>,
msg=0x464, wParam=0x0, lParam=0x0)
[/usr/local/src/wine/dlls/user32/defdlg.c:488] in user32 (0x0034d4fc)
  7 0x602b653a WINPROC_wrapper+0x1a() in user32 (0x0034d52c)
  8 0x602b6bde call_window_proc+0x6e(hwnd=<register EDI not in topmost frame>,
msg=0x464, wp=0x0, lp=0x0, result=0x34d610, arg=0x6024ae30)
[/usr/local/src/wine/dlls/user32/winproc.c:457] in user32 (0x0034d56c)
..
--- snip ---

In short: while trying to create a file open dialog, FILEDLG95_* sends a series
of "change" notifications in WM_INITDIALOG. e.g. CDN_INITDONE,
CDN_FOLDERCHANGE, CDN_SELCHANGE.
Unfortunately L/WPARAM parameter validation for CDM_GETFILEPATH and CDM_GETSPEC
is somewhat missing in FILEDLG95_HandleCustomDialogMessages().
It crashes there while dereferencing NULL ptr.

Attached patch checks lParam before doing anything useful.

With that patch in place, this little .NET 2.0 app seems to work fine.
It might be that other .NET 1.x/2.0 apps might start working too.

As said in the beginning .. there are probably many issues left.
But this is a start ;-)

Regards


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list