Kaydet (Commit) 8f2f1258 authored tarafından Miklos Vajna's avatar Miklos Vajna

xmlsecurity: don't write the stream of an OOXML storage

We'll need individual streams instead for OOXML.

Change-Id: Ia3a7172af39ebfb815d44b645b217da15e41c197
üst f0657475
......@@ -492,22 +492,26 @@ IMPL_LINK_NOARG_TYPED(DigitalSignaturesDialog, AddButtonHdl, Button*, void)
//a sax writer are used to write the information.
SignatureStreamHelper aStreamHelper = ImplOpenSignatureStream(
css::embed::ElementModes::WRITE|css::embed::ElementModes::TRUNCATE, true);
Reference< css::io::XOutputStream > xOutputStream(
aStreamHelper.xSignatureStream, UNO_QUERY_THROW);
Reference< css::xml::sax::XWriter> xSaxWriter =
maSignatureHelper.CreateDocumentHandlerWithHeader( xOutputStream );
// Export old signatures...
uno::Reference< xml::sax::XDocumentHandler> xDocumentHandler(xSaxWriter, UNO_QUERY_THROW);
size_t nInfos = maCurrentSignatureInformations.size();
for ( size_t n = 0; n < nInfos; n++ )
XMLSignatureHelper::ExportSignature( xDocumentHandler, maCurrentSignatureInformations[n]);
// Create a new one...
maSignatureHelper.CreateAndWriteSignature( xDocumentHandler );
// That's it...
XMLSignatureHelper::CloseDocumentHandler( xDocumentHandler);
if (aStreamHelper.nStorageFormat != embed::StorageFormats::OFOPXML)
{
Reference< css::io::XOutputStream > xOutputStream(
aStreamHelper.xSignatureStream, UNO_QUERY_THROW);
Reference< css::xml::sax::XWriter> xSaxWriter =
maSignatureHelper.CreateDocumentHandlerWithHeader( xOutputStream );
// Export old signatures...
uno::Reference< xml::sax::XDocumentHandler> xDocumentHandler(xSaxWriter, UNO_QUERY_THROW);
size_t nInfos = maCurrentSignatureInformations.size();
for ( size_t n = 0; n < nInfos; n++ )
XMLSignatureHelper::ExportSignature( xDocumentHandler, maCurrentSignatureInformations[n]);
// Create a new one...
maSignatureHelper.CreateAndWriteSignature( xDocumentHandler );
// That's it...
XMLSignatureHelper::CloseDocumentHandler( xDocumentHandler);
}
maSignatureHelper.EndMission();
......
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