[PATCH 1/1] Actually try to use IPersistStream if it's available
Nikolay Sivov
nsivov at codeweavers.com
Wed Oct 27 16:27:06 CDT 2010
---
dlls/msxml3/saxreader.c | 14 +++++++++++++-
1 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/dlls/msxml3/saxreader.c b/dlls/msxml3/saxreader.c
index a0c821e..5f04227 100644
--- a/dlls/msxml3/saxreader.c
+++ b/dlls/msxml3/saxreader.c
@@ -2043,12 +2043,24 @@ static HRESULT internal_parse(
SysFreeString(bstrData);
break;
}
+
if(IUnknown_QueryInterface(V_UNKNOWN(&varInput),
&IID_IPersistStream, (void**)&persistStream) == S_OK)
{
+ hr = CreateStreamOnHGlobal(NULL, TRUE, &stream);
+ if(hr != S_OK)
+ {
+ IPersistStream_Release(persistStream);
+ return hr;
+ }
+
hr = IPersistStream_Save(persistStream, stream, TRUE);
IPersistStream_Release(persistStream);
- if(hr != S_OK) break;
+ if(hr != S_OK)
+ {
+ IStream_Release(stream);
+ break;
+ }
}
if(stream || IUnknown_QueryInterface(V_UNKNOWN(&varInput),
&IID_IStream, (void**)&stream) == S_OK)
--
1.5.6.5
--------------030903090007090102090206--
More information about the wine-patches
mailing list