Nikolay Sivov : opcservices: Write relationship stream for parts.
Alexandre Julliard
julliard at winehq.org
Fri Sep 21 17:04:30 CDT 2018
Module: wine
Branch: master
Commit: 8479238fec68c2f7b91d2d8adfa0b6cb057cc436
URL: https://source.winehq.org/git/wine.git/?a=commit;h=8479238fec68c2f7b91d2d8adfa0b6cb057cc436
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Fri Sep 21 09:23:29 2018 +0300
opcservices: Write relationship stream for parts.
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/opcservices/package.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/dlls/opcservices/package.c b/dlls/opcservices/package.c
index a6f3b90..fb07d4d 100644
--- a/dlls/opcservices/package.c
+++ b/dlls/opcservices/package.c
@@ -1956,6 +1956,7 @@ static HRESULT opc_package_write_rels(struct zip_archive *archive, IOpcRelations
static HRESULT opc_package_write_part(struct zip_archive *archive, IOpcPart *part, IXmlWriter *writer)
{
OPC_COMPRESSION_OPTIONS options = OPC_COMPRESSION_NORMAL;
+ IOpcRelationshipSet *rels = NULL;
IStream *content = NULL;
IOpcPartUri *name;
BSTR uri = NULL;
@@ -1974,10 +1975,17 @@ static HRESULT opc_package_write_part(struct zip_archive *archive, IOpcPart *par
/* Part names always start with root '/', skip it. */
hr = compress_add_file(archive, uri + 1, content, options);
}
+ if (SUCCEEDED(hr))
+ hr = IOpcPart_GetRelationshipSet(part, &rels);
+ if (SUCCEEDED(hr))
+ hr = opc_package_write_rels(archive, rels, (IOpcUri *)name, writer);
+ IOpcPartUri_Release(name);
SysFreeString(uri);
if (content)
IStream_Release(content);
+ if (rels)
+ IOpcRelationshipSet_Release(rels);
return hr;
}
More information about the wine-cvs
mailing list