Commit 421b3ca3 authored by Dmitry Timoshkov's avatar Dmitry Timoshkov Committed by Alexandre Julliard

ole32: Fallback to parsing the Presentation streams ff parsing of the "CONTENTS" stream fails.

I have an application that tries to load an existing object from the file using OleLoad() and fails because the "CONTENTS" stream has clsid set to "Microsoft Photo Editor 3.0 Picture". I've dumped the contents of the OLE storage to disk for investigation, and under Windows (where Microsoft Photo Editor is not installed, and registry has no traces of its class guids) OleLoad() is able to load objects from this storage, and after that OleDraw() successfully paints the object contents on the screen. I've written an application to play with the dumped storage, and under Windows the "CONTENTS" stream also can't be loaded, but the storage also contains the "OlePres000" stream which contains an object in CF_METAFILEPICT format, and this one can be loaded and painted. Signed-off-by: 's avatarDmitry Timoshkov <dmitry@baikal.ru> Signed-off-by: 's avatarHuw Davies <huw@codeweavers.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent 356e46a1
......@@ -1368,7 +1368,8 @@ static HRESULT WINAPI DataCache_Load( IPersistStorage *iface, IStorage *pStg )
hr = parse_contents_stream( This, pStg, stm );
IStream_Release( stm );
}
else
if (FAILED(hr))
hr = parse_pres_streams( This, pStg );
if (SUCCEEDED( hr ))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment