[7/9] msi: Implement the UnregisterMIMEInfo standard action.
Vincent Pelletier
plr.vincent at gmail.com
Tue Apr 27 01:55:01 CDT 2010
Le vendredi 02 avril 2010 10:40:07, Hans Leidekker a écrit :
> + MSI_RecordSetStringW( uirow, 2, mime->Extension->Extension );
I have a segfault on this line when executing GOG.com embedded Adobe Reader
installer (as of duke_nukem_manhattan_project.exe, SHA1SUM
98e6056472368867d302f5dc00c6a317de96e713 at least):
wine: Unhandled page fault on read access to 0x00000008 at address 0x7ecf3750
(thread 0042), starting debugger...
Unhandled exception: page fault on read access to 0x00000008 in 32-bit code
(0x7ecf3750).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:7ecf3750 ESP:0033f8e0 EBP:0033f938 EFLAGS:00010202( R- -- I - - - )
EAX:00000000 EBX:7ed72e80 ECX:00000000 EDX:00000000
ESI:005630d8 EDI:00563028
Stack dump:
0x0033f8e0: 00000002 7ed7f4f8 7ed5dfc6 7ed5ddeb
0x0033f8f0: 00000000 f76df7e1 7ed2e89b 7ed72e80
0x0033f900: 00131f00 0055eae0 7ed5ddeb 7ed5dfc6
0x0033f910: 7ed5dfa0 00563370 7ed5df60 00131f60
0x0033f920: 7ed7f4b8 7ed7f4b8 7ecf34fb 7ed72e80
0x0033f930: 00522dc0 00000044 0033f998 7ecda25e
Backtrace:
=>0 0x7ecf3750 ACTION_UnregisterMIMEInfo+0x260(package=0x131f00)
[/home/vincent/git/wine/dlls/msi/classes.c:1516] in msi (0x0033f998)
1 0x7ecda25e ACTION_HandleStandardAction+0x1dd(package=<is not available>,
action="UnregisterMIMEInfo", rc=0x33f9cc, force=0x0001)
[/home/vincent/git/wine/dlls/msi/action.c:7089] in msi (0x0033f9e8)
Note: of-by-one line count, as I added a WARN to log mime->Extension value,
which confirms the problem (3rd line):
warn:msi:ACTION_UnregisterMIMEInfo Unregistering MIME type L"application/pdf"
warn:msi:ACTION_UnregisterMIMEInfo Failed to delete MIME key 2
warn:msi:ACTION_UnregisterMIMEInfo mime->Extension = (nil)
I believe the mime->InstallMe condition is too relaxed, as it does check mime-
>Extension, but with || (reindented code, for wordwrap):
> + mime->InstallMe = (mime->InstallMe ||
> + (mime->Class && mime->Class->Installed) ||
> + (mime->Extension && mime->Extension->Installed));
Regards,
--
Vincent Pelletier
More information about the wine-devel
mailing list