summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
Diffstat (limited to 'sd')
-rwxr-xr-xsd/source/filter/xml/sdxmlwrp.cxx21
-rwxr-xr-xsd/source/ui/unoidl/unomodel.cxx7
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++;