[PATCH 4/5] quartz: Convert media type registration to IRegistrar mechanism.
Alexandre Julliard
julliard at winehq.org
Tue Apr 23 17:01:41 CDT 2019
Alexandre Julliard <julliard at winehq.org> writes:
> Zebediah Figura <z.figura12 at gmail.com> writes:
>
>> On 4/23/19 2:20 AM, Alexandre Julliard wrote:
>>> Zebediah Figura <z.figura12 at gmail.com> writes:
>>>
>>>> @@ -687,10 +390,6 @@ HRESULT WINAPI DllRegisterServer(void)
>>>> TRACE("\n");
>>>> hr = QUARTZ_DllRegisterServer();
>>>> - if (SUCCEEDED(hr))
>>>> - hr = register_mediatypes_parsing(mediatype_parsing_list);
>>>> - if (SUCCEEDED(hr))
>>>> - hr = register_mediatypes_extension(mediatype_extension_list);
>>>> if (SUCCEEDED(hr))
>>>> hr = register_filters(filter_list);
>>>> return hr;
>>>
>>> Note that you should add a call to __wine_register_resources(), so that
>>> the dll can still be registered manually.
>>>
>>
>> As far as I understand that's already done in the rpcproxy refactoring
>> routines (i.e. it's called from QUARTZ_DllRegisterServer()). Is that
>> not the case?
>
> You are right, I missed that you kept the rpcproxy call. That works.
It's breaking the tests however:
../../../tools/runtest -q -P wine -T ../../.. -M quartz.dll -p quartz_test.exe mpegsplit && touch mpegsplit.ok
mpegsplit.c:97: Test failed: Got hr 0x80040207.
wine: Unhandled page fault on execute access to 0x001fb7d0 at address 0x1fb7d0 (thread 0009), starting debugger...
Unhandled exception: page fault on execute access to 0x001fb7d0 in 32-bit code (0x001fb7d0).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:001fb7d0 ESP:007cf97c EBP:007cf9a8 EFLAGS:00010216( R- -- I -A-P- )
EAX:001fb7d0 EBX:00000000 ECX:007cf9c0 EDX:00110288
ESI:001f5758 EDI:00000000
Stack dump:
0x007cf97c: 7d76c2c9 001fb7d0 7d81b000 007cf9b8
0x007cf98c: 7d7b567c 001f5758 7d76c280 7d76c320
0x007cf99c: 007cf9c0 001f72f8 007cfa4c 007cf9f8
0x007cf9ac: 7d7c3892 00000000 7d7b5626 7d7b50e5
0x007cf9bc: 7d7c3892 001f5758 00000000 007cf9f8
0x007cf9cc: 7d76d2a7 00000000 00000000 00000000
Backtrace:
=>0 0x001fb7d0 (0x007cf9a8)
1 0x7d7c3892 IEnumPinsImpl_Next+0xa1(iface=<couldn't compute location>, cPins=<couldn't compute location>, ppPins=<couldn't compute location>, pcFetched=<couldn't compute location>) [/home/julliard/wine/wine/dlls/strmbase/enumpins.c:147] in quartz (0x007cf9f8)
2 0x7d75c303 FilterGraph2_RemoveFilter+0x182(iface=<couldn't compute location>, pFilter=<couldn't compute location>) [/home/julliard/wine/wine/dlls/quartz/../../include/strmif.h:1194] in quartz (0x007cfb98)
3 0x7d74f2bd FilterGraphInner_Release+0x8c(iface=<couldn't compute location>) [/home/julliard/wine/wine/dlls/quartz/../../include/strmif.h:7014] in quartz (0x007cfbe8)
4 0x7d74f487 FilterGraph2_Release+0x56(iface=<couldn't compute location>) [/home/julliard/wine/wine/dlls/quartz/filtergraph.c:529] in quartz (0x007cfc18)
5 0x00426094 func_mpegsplit+0x483() [/home/julliard/wine/wine/dlls/quartz/tests/../../../include/strmif.h:7007] in quartz_test (0x007cfd48)
6 0x00438581 main+0x2a0(argc=<is not available>, argv=<is not available>) [/home/julliard/wine/wine/dlls/quartz/tests/../../../include/wine/test.h:617] in quartz_test (0x007cfe18)
7 0x0040138b filter+0x40138a() in quartz_test (0x007cfeb8)
8 0x7b475452 call_process_entry+0x11() in kernel32 (0x007cfed8)
9 0x7b477587 start_process+0x1a6(entry=<is not available>, peb=<is not available>) [/home/julliard/wine/wine/dlls/kernel32/process.c:1256] in kernel32 (0x007cffd8)
10 0x7b47545e start_process_wrapper+0x9() in kernel32 (0x007cffec)
0x001fb7d0: fmul %st(3),%st
Modules:
Module Address Debug info Name (76 modules)
PE 400000- 5c1000 Dwarf quartz_test
ELF 7b400000-7b832000 Dwarf kernel32<elf>
\-PE 7b420000-7b832000 \ kernel32
ELF 7bc00000-7bd2b000 Deferred ntdll<elf>
\-PE 7bc10000-7bd2b000 \ ntdll
ELF 7c000000-7c005000 Deferred <wine-loader>
ELF 7d6d1000-7d71e000 Deferred dsound<elf>
\-PE 7d6e0000-7d71e000 \ dsound
ELF 7d71e000-7d824000 Dwarf quartz<elf>
\-PE 7d730000-7d824000 \ quartz
ELF 7d846000-7d883000 Deferred uxtheme<elf>
\-PE 7d850000-7d883000 \ uxtheme
ELF 7d883000-7d88a000 Deferred libxfixes.so.3
ELF 7d88a000-7d897000 Deferred libxcursor.so.1
ELF 7d897000-7d8aa000 Deferred libxi.so.6
ELF 7d8aa000-7d8ae000 Deferred libxcomposite.so.1
ELF 7d8ae000-7d8bb000 Deferred libxrandr.so.2
ELF 7d8bb000-7d8c7000 Deferred libxrender.so.1
ELF 7d8c7000-7d8ce000 Deferred libxxf86vm.so.1
ELF 7d8ce000-7d8d3000 Deferred libxinerama.so.1
ELF 7d8d3000-7d8dd000 Deferred librt.so.1
ELF 7d8dd000-7d8fc000 Deferred libbsd.so.0
ELF 7d8fc000-7d903000 Deferred libxdmcp.so.6
ELF 7d903000-7d908000 Deferred libxau.so.6
ELF 7d908000-7d936000 Deferred libxcb.so.1
ELF 7d936000-7da85000 Deferred libx11.so.6
ELF 7da85000-7da9a000 Deferred libxext.so.6
ELF 7dad2000-7db77000 Deferred winex11<elf>
\-PE 7dae0000-7db77000 \ winex11
ELF 7de4c000-7de56000 Deferred libuuid.so.1
ELF 7de56000-7de91000 Deferred libexpat.so.1
ELF 7de91000-7dede000 Deferred libfontconfig.so.1
ELF 7dede000-7defd000 Deferred libz.so.1
ELF 7defd000-7df3c000 Deferred libpng16.so.16
ELF 7df3c000-7dfff000 Deferred libfreetype.so.6
ELF 7dfff000-7e028000 Deferred libtinfo.so.6
ELF 7e028000-7e055000 Deferred libncurses.so.6
ELF 7e08d000-7e15d000 Deferred msvcrt<elf>
\-PE 7e0a0000-7e15d000 \ msvcrt
ELF 7e15d000-7e2a0000 Deferred oleaut32<elf>
\-PE 7e170000-7e2a0000 \ oleaut32
ELF 7e2a0000-7e2c6000 Deferred imm32<elf>
\-PE 7e2b0000-7e2c6000 \ imm32
ELF 7e2c6000-7e31d000 Deferred usp10<elf>
\-PE 7e2d0000-7e31d000 \ usp10
ELF 7e31d000-7e47b000 Deferred comctl32<elf>
\-PE 7e330000-7e47b000 \ comctl32
ELF 7e47b000-7e4b9000 Deferred msacm32<elf>
\-PE 7e480000-7e4b9000 \ msacm32
ELF 7e4b9000-7e555000 Deferred rpcrt4<elf>
\-PE 7e4d0000-7e555000 \ rpcrt4
ELF 7e555000-7e6c7000 Deferred ole32<elf>
\-PE 7e570000-7e6c7000 \ ole32
ELF 7e6c7000-7e6f2000 Deferred version<elf>
\-PE 7e6d0000-7e6f2000 \ version
ELF 7e6f2000-7e83b000 Deferred gdi32<elf>
\-PE 7e700000-7e83b000 \ gdi32
ELF 7e83b000-7ea63000 Deferred user32<elf>
\-PE 7e850000-7ea63000 \ user32
ELF 7ea63000-7eb33000 Deferred winmm<elf>
\-PE 7ea70000-7eb33000 \ winmm
ELF 7eb33000-7ebc7000 Deferred advapi32<elf>
\-PE 7eb40000-7ebc7000 \ advapi32
ELF 7ee92000-7eea7000 Deferred libnss_files.so.2
ELF 7eea7000-7eec2000 Deferred libnsl.so.1
ELF 7eec2000-7efc8000 Deferred libm.so.6
ELF 7efca000-7effa000 Deferred msvfw32<elf>
\-PE 7efd0000-7effa000 \ msvfw32
ELF f7afd000-f7b03000 Deferred libdl.so.2
ELF f7b03000-f7ce1000 Deferred libc.so.6
ELF f7ce1000-f7d02000 Deferred libpthread.so.0
ELF f7d02000-f7d10000 Deferred libnss_nis.so.2
ELF f7d30000-f7d3a000 Deferred libnss_compat.so.2
ELF f7d3a000-f7ef1000 Dwarf libwine.so.1
ELF f7ef3000-f7f1d000 Deferred ld-linux.so.2
ELF f7f20000-f7f22000 Deferred [vdso].so
Threads:
process tid prio (all id:s are in hex)
00000008 (D) Z:\home\julliard\wine\wine\dlls\quartz\tests\quartz_test.exe
00000009 0 <==
0000000e services.exe
00000021 0
0000001c 0
00000018 0
00000015 0
00000014 0
00000013 0
00000010 0
0000000f 0
00000011 winedevice.exe
00000019 0
00000017 0
00000016 0
00000012 0
0000001a plugplay.exe
0000001e 0
0000001d 0
0000001b 0
0000001f winedevice.exe
00000026 0
00000023 0
00000022 0
00000020 0
00000024 explorer.exe
00000029 0
00000028 0
00000027 0
00000025 0
System information:
Wine build: wine-4.6-209-gf45c89690c06
Platform: i386
Version: Windows 7
Host system: Linux
Host version: 4.19.0-4-amd64
--
Alexandre Julliard
julliard at winehq.org
More information about the wine-devel
mailing list