Hi, See http://cgit.freedesktop.org/libreoffice/core/commit/?id=629001d
Regression from 3.4; backported patch attached. (Also on gerrit: https://gerrit.libreoffice.org/228) Thanks, Miklos
>From 3b7c3ede59b0cdd7ff739c94c17382002f41b687 Mon Sep 17 00:00:00 2001 From: Miklos Vajna <[email protected]> Date: Fri, 15 Jun 2012 16:15:07 +0200 Subject: [PATCH] fdo#50087 fix RTF import of Title, Subject, Comments document properties Change-Id: I3358fad4949c2c21ecf63983a36b7c8428df9f06 --- writerfilter/source/rtftok/rtfdocumentimpl.cxx | 18 ++++++++++++++++++ writerfilter/source/rtftok/rtfdocumentimpl.hxx | 5 ++++- 2 files changed, 22 insertions(+), 1 deletions(-) diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx index 361ad89..e293599 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx @@ -1019,6 +1019,9 @@ void RTFDocumentImpl::text(OUString& rString) case DESTINATION_FALT: case DESTINATION_PARAGRAPHNUMBERING_TEXTAFTER: case DESTINATION_PARAGRAPHNUMBERING_TEXTBEFORE: + case DESTINATION_TITLE: + case DESTINATION_SUBJECT: + case DESTINATION_DOCCOMM: m_aStates.top().aDestinationText.append(rString); break; case DESTINATION_EQINSTRUCTION: @@ -1442,6 +1445,15 @@ int RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword) case RTF_PNTXTB: m_aStates.top().nDestinationState = DESTINATION_PARAGRAPHNUMBERING_TEXTBEFORE; break; + case RTF_TITLE: + m_aStates.top().nDestinationState = DESTINATION_TITLE; + break; + case RTF_SUBJECT: + m_aStates.top().nDestinationState = DESTINATION_SUBJECT; + break; + case RTF_DOCCOMM: + m_aStates.top().nDestinationState = DESTINATION_DOCCOMM; + break; default: #if OSL_DEBUG_LEVEL > 1 OSL_TRACE("%s: TODO handle destination '%s'", OSL_THIS_FUNC, lcl_RtfToString(nKeyword)); @@ -3301,6 +3313,12 @@ int RTFDocumentImpl::popState() m_xDocumentProperties->setKeywords(comphelper::string::convertCommaSeparated(m_aStates.top().aDestinationText.makeStringAndClear())); else if (m_aStates.top().nDestinationState == DESTINATION_COMMENT && m_xDocumentProperties.is()) m_xDocumentProperties->setGenerator(m_aStates.top().aDestinationText.makeStringAndClear()); + else if (m_aStates.top().nDestinationState == DESTINATION_TITLE && m_xDocumentProperties.is()) + m_xDocumentProperties->setTitle(m_aStates.top().aDestinationText.makeStringAndClear()); + else if (m_aStates.top().nDestinationState == DESTINATION_SUBJECT && m_xDocumentProperties.is()) + m_xDocumentProperties->setSubject(m_aStates.top().aDestinationText.makeStringAndClear()); + else if (m_aStates.top().nDestinationState == DESTINATION_DOCCOMM && m_xDocumentProperties.is()) + m_xDocumentProperties->setDescription(m_aStates.top().aDestinationText.makeStringAndClear()); else if (m_aStates.top().nDestinationState == DESTINATION_OPERATOR || m_aStates.top().nDestinationState == DESTINATION_COMPANY) { diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.hxx b/writerfilter/source/rtftok/rtfdocumentimpl.hxx index aa2f756..d7347e4 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.hxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.hxx @@ -114,7 +114,10 @@ namespace writerfilter { DESTINATION_DRAWINGOBJECT, DESTINATION_PARAGRAPHNUMBERING, DESTINATION_PARAGRAPHNUMBERING_TEXTBEFORE, - DESTINATION_PARAGRAPHNUMBERING_TEXTAFTER + DESTINATION_PARAGRAPHNUMBERING_TEXTAFTER, + DESTINATION_TITLE, + DESTINATION_SUBJECT, + DESTINATION_DOCCOMM }; -- 1.7.7
_______________________________________________ LibreOffice mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice
