On Thu, Sep 15, 2011 at 08:28:53AM, Marcus Meissner wrote:
On Thu, Sep 15, 2011 at 02:09:56PM +0200, Bernhard Loos wrote:
dlls/oleaut32/olepicture.c | 148 +++++++++++++------------------------- dlls/oleaut32/tests/olepicture.c | 16 ++--- 2 files changed, 54 insertions(+), 110 deletions(-)
Did make check work for you even? Marvin does not like it at least.
This will break NonStatable streams, also seekability of streams can not be assumed.
Ciao, Marcus
Windows never calls Stat on the stream, and it bails out, if Seek doesn't work, it certainly never reads until the end of the stream. Thats at least what happens on XP. This only breaks on jpeg images, so I suspect the difference is in the actual image rendering code. Wine always reads the complete image into memory and then creates the image from this memory buffer with IWICStream_InitializeFromMemory for example, while windows probably calls IWICStream_InitializeFromIStream. And this method reads a 4096 bytes chunk at first and depends on Read checking for the end of the stream.
Bernhard