[Bug 32654] Visual Studio 2010 needs windowscodecs WICSetEncoderFormat_Proxy

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Feb 27 17:12:34 CST 2013


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Visual Studio 2010 fails on |Visual Studio 2010 needs
                   |shutdown, needs             |windowscodecs
                   |windowscodecs               |WICSetEncoderFormat_Proxy
                   |WICSetEncoderFormat_Proxy   |
                   |stub                        |

--- Comment #2 from Anastasius Focht <focht at gmx.net> 2013-02-27 17:12:34 CST ---
Hello Vincent,

yes, it goes a bit further.

--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/Microsoft Visual Studio
10.0/Common7/IDE
...
$ WINEDEBUG=+tid,+seh,+relay,+wincodecs wine ./VCExpress.exe
...
002b:Call
windowscodecs.WICSetEncoderFormat_Proxy(065e6080,00000000,065e4e50,0032f15c)
ret=0f24f5bb
002b:trace:wincodecs:WICSetEncoderFormat_Proxy
0x65e6080,(nil),0x65e4e50,0x32f15c
002b:trace:wincodecs:BitmapImpl_GetPixelFormat (0x65e6080,0x32f008)
002b:trace:wincodecs:TiffFrameEncode_SetPixelFormat
(0x65e4e50,{6fddc324-4e03-4bfe-b185-3d77768dc90f})
002b:trace:wincodecs:BitmapImpl_AddRef (0x65e6080) refcount=5
002b:Ret  windowscodecs.WICSetEncoderFormat_Proxy() retval=00000000
ret=0f24f5bb 
...
002b:Call
windowscodecs.IWICBitmapFrameEncode_WriteSource_Proxy(065e4e50,065e6080,0032f214)
ret=0f24f77b
002b:trace:wincodecs:TiffFrameEncode_WriteSource (0x65e4e50,0x65e6080,0x32f214)
002b:trace:wincodecs:BitmapImpl_GetPixelFormat (0x65e6080,0x32ef7c)
002b:Ret  windowscodecs.IWICBitmapFrameEncode_WriteSource_Proxy()
retval=80070057 ret=0f24f77b
...
002b:trace:seh:raise_exception code=e0434352 flags=1 addr=0x7b83aabb
ip=7b83aabb tid=002b
002b:trace:seh:raise_exception  info[0]=80070057
002b:trace:seh:raise_exception  info[1]=00000000
002b:trace:seh:raise_exception  info[2]=00000000
002b:trace:seh:raise_exception  info[3]=00000000
002b:trace:seh:raise_exception  info[4]=79140000
002b:trace:seh:raise_exception  eax=7b826891 ebx=7b8b96b0 ecx=79140000
edx=0032ef88 esi=0032f068 edi=0032efe0
002b:trace:seh:raise_exception  ebp=0032efb8 esp=0032ef54 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00000283
002b:trace:seh:call_vectored_handlers calling handler at 0x791f5a7c
code=e0434352 flags=1 
...
002b:Call oleaut32.SysAllocStringLen(01584f9c L"Value does not fall within the
expected range.",0000002e) ret=793c87f2 
--- snip ---

--- snip ---
Wine-dbg>bt
Backtrace:
=>0 0xf728bb6f TiffFrameEncode_WriteSource(iface=0xeccd9f0,
pIBitmapSource=0xec9f448, prc=0x33f214)
[/home/focht/projects/wine/wine-git/dlls/windowscodecs/tiffformat.c:1642] in
windowscodecs (0x0033f108)
  1 0x06a6f77b (0x0033f19c)
  2 0x06a6edcd (0x0033f25c)

Wine-dbg>p *prc
{X=0, Y=0, Width=0, Height=0}

Wine-dbg>p *This
{IWICBitmapFrameEncode_iface={lpVtbl=0xf72f7740}, ref=0x1, parent=0xec9f6e8,
initialized=0x1, info_written=0, committed=0, format=0xf72f8d20, width=0x10,
height=0x10, xres=96.000000, yres=96.000000, lines_written=0}
--- snip ---

Source of failure:

http://source.winehq.org/git/wine.git/blob/d8c71dd5ed80111c401382dc9dd6c5a218148ecb:/dlls/windowscodecs/tiffformat.c#l1693

--- snip ---
1640 static HRESULT WINAPI TiffFrameEncode_WriteSource(IWICBitmapFrameEncode
*iface,
1641     IWICBitmapSource *pIBitmapSource, WICRect *prc)
1642 {
1643     TiffFrameEncode *This = impl_from_IWICBitmapFrameEncode(iface);
1644     HRESULT hr;
1645     WICRect rc;
1646     WICPixelFormatGUID guid;
1647     UINT stride;
1648     BYTE *pixeldata;
...
Wine-dbg>l
1693        if (prc->Width != This->width) return E_INVALIDARG;
1694    
1695        stride = (This->format->bpp * This->width + 7)/8;
1696    
1697        pixeldata = HeapAlloc(GetProcessHeap(), 0, stride * prc->Height);
1698        if (!pixeldata) return E_OUTOFMEMORY;
1699    
1700        hr = IWICBitmapSource_CopyPixels(pIBitmapSource, prc, stride,
1701            stride*prc->Height, pixeldata);
1702    
1703        if (SUCCEEDED(hr))
--- snip ---

Not sure if the empty rect is result of an earlier problem.

Interestingly it's also required on startup now, refining summary.

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