[Wine-patches] [eter-2.1] ole32: Do not fail to load data in unknown format. (eterbug #10868).

Dmitry Timoshkov dtimoshkov на etersoft.ru
Вт Окт 20 13:06:21 MSK 2015


This is just a quick hack, a proper investigation is needed.
---
 dlls/ole32/datacache.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/dlls/ole32/datacache.c b/dlls/ole32/datacache.c
index 5478e5f..c1c4a1f 100644
--- a/dlls/ole32/datacache.c
+++ b/dlls/ole32/datacache.c
@@ -1290,6 +1290,7 @@ static HRESULT parse_pres_streams( DataCache *This, IStorage *stg )
 }
 
 static const FORMATETC static_dib_fmt = { CF_DIB, NULL, DVASPECT_CONTENT, -1, TYMED_HGLOBAL };
+static const FORMATETC static_unknown_fmt = { 0, NULL, 0, -1, TYMED_NULL };
 
 static HRESULT parse_contents_stream( DataCache *This, IStorage *stg, IStream *stm )
 {
@@ -1302,8 +1303,8 @@ static HRESULT parse_contents_stream( DataCache *This, IStorage *stg, IStream *s
 
     if (IsEqualCLSID( &stat.clsid, &CLSID_Picture_Dib ))
         fmt = &static_dib_fmt;
-    else
-        return E_FAIL;
+    else /* eterbug #10868: do not fail to load data in unknown format */
+        fmt = &static_unknown_fmt;
 
     return add_cache_entry( This, fmt, stm, contents_stream );
 }
-- 
2.6.2



Подробная информация о списке рассылки Wine-patches