diff options
Diffstat (limited to 'sd')
-rwxr-xr-x | sd/source/filter/xml/sdxmlwrp.cxx | 21 | ||||
-rwxr-xr-x | sd/source/ui/unoidl/unomodel.cxx | 7 |
2 files changed, 22 insertions, 6 deletions
diff --git a/sd/source/filter/xml/sdxmlwrp.cxx b/sd/source/filter/xml/sdxmlwrp.cxx index 0ebc716e863b..53c95050ec8a 100755 --- a/sd/source/filter/xml/sdxmlwrp.cxx +++ b/sd/source/filter/xml/sdxmlwrp.cxx @@ -513,6 +513,9 @@ sal_Bool SdXMLFilter::Import( ErrCode& nError ) { MAP_LEN( "BuildId" ), 0, &::getCppuType( (OUString *)0 ), ::com::sun::star::beans::PropertyAttribute::MAYBEVOID, 0 }, + { MAP_LEN( "OrganizerMode" ), 0, + &::getBooleanCppuType(), + ::com::sun::star::beans::PropertyAttribute::MAYBEVOID, 0 }, { NULL, 0, 0, NULL, 0, 0 } }; @@ -630,6 +633,13 @@ sal_Bool SdXMLFilter::Import( ErrCode& nError ) } } + if (SDXMLMODE_Organizer == meFilterMode) + { + ::rtl::OUString const sOrganizerMode( + RTL_CONSTASCII_USTRINGPARAM("OrganizerMode")); + xInfoSet->setPropertyValue(sOrganizerMode, uno::makeAny(sal_True)); + } + // ------------------------------------- if( 0 == nRet ) @@ -655,13 +665,14 @@ sal_Bool SdXMLFilter::Import( ErrCode& nError ) sal_uInt32 nWarn = 0; sal_uInt32 nWarn2 = 0; // read storage streams + // #i103539#: always read meta.xml for generator + nWarn = ReadThroughComponent( + xStorage, xModelComp, "meta.xml", "Meta.xml", xServiceFactory, + pServices->mpMeta, + aEmptyArgs, aName, sal_False ); + if( meFilterMode != SDXMLMODE_Organizer ) { - nWarn = ReadThroughComponent( - xStorage, xModelComp, "meta.xml", "Meta.xml", xServiceFactory, - pServices->mpMeta, - aEmptyArgs, aName, sal_False ); - nWarn2 = ReadThroughComponent( xStorage, xModelComp, "settings.xml", NULL, xServiceFactory, pServices->mpSettings, diff --git a/sd/source/ui/unoidl/unomodel.cxx b/sd/source/ui/unoidl/unomodel.cxx index c10c64a02145..f04c3df51b7f 100755 --- a/sd/source/ui/unoidl/unomodel.cxx +++ b/sd/source/ui/unoidl/unomodel.cxx @@ -2111,7 +2111,12 @@ void SAL_CALL SdXImpressDocument::render( sal_Int32 nRenderer, const uno::Any& r { sal_Int32 nPage = ImplPDFGetBookmarkPage( aIBeg->aBookmark, *mpDoc ); if ( nPage != -1 ) - pPDFExtOutDevData->SetLinkDest( aIBeg->nLinkId, pPDFExtOutDevData->CreateDest( aPageRect, nPage, vcl::PDFWriter::FitRectangle ) ); + { + if ( aIBeg->nLinkId != -1 ) + pPDFExtOutDevData->SetLinkDest( aIBeg->nLinkId, pPDFExtOutDevData->CreateDest( aPageRect, nPage, vcl::PDFWriter::FitRectangle ) ); + else + pPDFExtOutDevData->DescribeRegisteredDest( aIBeg->nDestId, aPageRect, nPage, vcl::PDFWriter::FitRectangle ); + } else pPDFExtOutDevData->SetLinkURL( aIBeg->nLinkId, aIBeg->aBookmark ); aIBeg++; |