[Bug 32408] New: Evolve client (.NET 4.0 app) fails on startup due to WindowsCodecs PngDecoder_Frame_GetThumbnail() stub returning E_NOTIMPL instead of WINCODEC_ERR_CODECNOTHUMBNAIL

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Dec 9 13:54:18 CST 2012


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

             Bug #: 32408
           Summary: Evolve client (.NET 4.0 app) fails on startup due to
                    WindowsCodecs PngDecoder_Frame_GetThumbnail() stub
                    returning E_NOTIMPL instead of
                    WINCODEC_ERR_CODECNOTHUMBNAIL
           Product: Wine
           Version: 1.5.19
          Platform: x86
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: windowscodecs
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: focht at gmx.net
    Classification: Unclassified


Hello,

Prerequisite: 'winetricks -q dotnet40' (32-bit WINEPREFIX)
Optional (the client will download/install on its own): 'winetricks -q msxml6'
(wontfix bug 30078)

Download: https://www.evolvehq.com/client

--- snip ---
$ wine ./EvolveSetup.exe
...
002c:Call KERNEL32.MultiByteToWideChar(0000fde9,00000008,047a110a
"WindowsCodecs.dll",ffffffff,0032d784,00000012) ret=79171cfb
002c:Ret  KERNEL32.MultiByteToWideChar() retval=00000012 ret=79171cfb
002c:Call KERNEL32.GetProcAddress(7cd80000,047cf5fc
"IWICBitmapFrameDecode_GetThumbnail_Proxy") ret=79171e1e
002c:Ret  KERNEL32.GetProcAddress() retval=7cd89d10 ret=79171e1e
002c:Call KERNEL32.GetCurrentProcess() ret=791620b4
002c:Ret  KERNEL32.GetCurrentProcess() retval=ffffffff ret=791620b4
002c:Call KERNEL32.FlushInstructionCache(ffffffff,04bacd80,0000000c)
ret=791620bb
002c:Ret  KERNEL32.FlushInstructionCache() retval=00000001 ret=791620bb
002c:Call ntdll.RtlFreeHeap(00b3c000,00000000,00b3ca90) ret=7919c036
002c:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=7919c036
002c:Call
windowscodecs.IWICBitmapFrameDecode_GetThumbnail_Proxy(0016ee24,0032e2f8)
ret=04fa1d21
002c:fixme:wincodecs:PngDecoder_Frame_GetThumbnail (0x16ee24,0x32e2f8): stub
002c:Ret  windowscodecs.IWICBitmapFrameDecode_GetThumbnail_Proxy()
retval=80004001 ret=04fa1d21 
...
002c:Call KERNEL32.RaiseException(e0434352,00000001,00000005,0032e25c)
ret=791cac08
002c:trace:seh:raise_exception code=e0434352 flags=1 addr=0x7b8399b3
ip=7b8399b3 tid=002c
002c:trace:seh:raise_exception  info[0]=80004001
002c:trace:seh:raise_exception  info[1]=00000000
002c:trace:seh:raise_exception  info[2]=00000000
002c:trace:seh:raise_exception  info[3]=00000000
002c:trace:seh:raise_exception  info[4]=79140000
002c:trace:seh:raise_exception  eax=7b826831 ebx=7b8b2770 ecx=79140000
edx=0032e148 esi=0032e218 edi=0032e190
002c:trace:seh:raise_exception  ebp=0032e178 esp=0032e114 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00000283 
...
002c:Call user32.MessageBoxW(00000000,00f7df78 L"The Evolve Updater failed to
initialize.\n\nError was: Provide value on
'System.Windows.Baml2006.TypeConverterMarkupExtension' threw an
exception.",00f2b770 L"Evolve Updater",00000010) ret=04fa5fdf 
--- snip ---

http://source.winehq.org/git/wine.git/blob/92d445bcca7c00a3759c84abdecd17763c250b12:/dlls/windowscodecs/pngformat.c#l895

--- snip ---
 895 static HRESULT WINAPI PngDecoder_Frame_GetThumbnail(IWICBitmapFrameDecode
*iface,
 896     IWICBitmapSource **ppIThumbnail)
 897 {
 898     FIXME("(%p,%p): stub\n", iface, ppIThumbnail);
 899     return E_NOTIMPL;
 900 }
--- snip ---

Other decoder types return WINCODEC_ERR_CODECNOTHUMBNAIL which seems to be the
better choice as long as Wine's WindowsCodecs doesn't implement GetThumbnail in
frame decoders for various formats.

http://source.winehq.org/git/wine.git/blob/4bb2c61b39668a02f68e859afc2a8de7aa434b6e:/dlls/windowscodecs/jpegformat.c#l690

--- snip ---
 690 static HRESULT WINAPI JpegDecoder_Frame_GetThumbnail(IWICBitmapFrameDecode
*iface,
 691     IWICBitmapSource **ppIThumbnail)
 692 {
 693     FIXME("(%p,%p): stub\n", iface, ppIThumbnail);
 694     return WINCODEC_ERR_CODECNOTHUMBNAIL;
 695 }
--- snip ---

Changing PngDecoder_Frame_GetThumbnail stub to return
WINCODEC_ERR_CODECNOTHUMBNAIL lets the client run further (into next Wine bug).

--- snip ---
...
fixme:wincodecs:PngDecoder_Frame_GetThumbnail (0x1609f4,0x32e378): stub
fixme:wincodecs:PngDecoder_Frame_GetThumbnail (0x19d80c,0x32e378): stub
fixme:wincodecs:PngDecoder_Frame_GetThumbnail (0x179e54,0x32e378): stub
fixme:wincodecs:PngDecoder_Frame_GetThumbnail (0x179f94,0x32e378): stub
fixme:shell:URL_ParseUrl failed to parse L"PresentationFramework.classic"
fixme:process:FlushProcessWriteBuffers : stub
fixme:shell:URL_ParseUrl failed to parse L"UIAutomationProvider"
fixme:shell:URL_ParseUrl failed to parse L"CustomControls.resources"
fixme:shell:URL_ParseUrl failed to parse L"CustomControls.resources"
fixme:advapi:RegisterTraceGuidsW (0xb3c57a, (nil),
{2e5dba47-a3d2-4d16-8ee0-6671ffdcd7b5}, 1, 0x32d88c, (null), (null),
0x10dfef0,): stub
fixme:shell:URL_ParseUrl failed to parse L"System.Configuration"
fixme:shell:URL_ParseUrl failed to parse L"System.Xml"
...
--- snip ---

Regards

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list