diff options
Diffstat (limited to 'writerperfect/source/wpdimp/WordPerfectCollector.cxx')
-rw-r--r-- | writerperfect/source/wpdimp/WordPerfectCollector.cxx | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/writerperfect/source/wpdimp/WordPerfectCollector.cxx b/writerperfect/source/wpdimp/WordPerfectCollector.cxx index a5b57181af78..83fdec5ff9cd 100644 --- a/writerperfect/source/wpdimp/WordPerfectCollector.cxx +++ b/writerperfect/source/wpdimp/WordPerfectCollector.cxx @@ -36,8 +36,9 @@ #pragma warning( pop ) #endif -WordPerfectCollector::WordPerfectCollector(WPSInputStream *pInput, DocumentHandler *pHandler) : - DocumentCollector(pInput, pHandler) +WordPerfectCollector::WordPerfectCollector(WPXInputStream *pInput, DocumentHandlerInterface *pHandler, const rtl::OString& password) : + DocumentCollector(pInput, pHandler), + maUtf8Password(password) { } @@ -45,9 +46,13 @@ WordPerfectCollector::~WordPerfectCollector() { } -bool WordPerfectCollector::parseSourceDocument(WPSInputStream &input) +bool WordPerfectCollector::parseSourceDocument(WPXInputStream &input) { - WPDResult result = WPDocument::parse(&input, static_cast<WPXHLListenerImpl *>(this)); + WPDResult result; + if (maUtf8Password.getLength()) + result = WPDocument::parse(&input, static_cast<WPXDocumentInterface *>(this), maUtf8Password.getStr()); + else + result = WPDocument::parse(&input, static_cast<WPXDocumentInterface *>(this), NULL); if (result != WPD_OK) return false; |