------------------------------------------------------------
revno: 2110
committer: Rene Engelhard <r...@debian.org>
branch nick: debian
timestamp: Wed 2010-09-22 15:55:00 +0200
message:
  add fix for #588382
added:
  patches/pdf-link-export-fix.diff
modified:
  changelog
  patches/series
=== modified file 'changelog'
--- a/changelog 2010-09-20 22:48:52 +0000
+++ b/changelog 2010-09-22 13:55:00 +0000
@@ -9,6 +9,9 @@
      - use 3.2.98.1 release
      - use new ooo-build build insfrastructure
 
+   * debian/patches/pdf-link-export-fix.diff: import from ooo-build master;
+     don't export PDFs with damaged xref table (closes: #594275)
+
   * debian/rules:
     - add and rework target(s) for new external sources handling upstream
     - updates for 3.3 and its various configuration changes

=== added file 'patches/pdf-link-export-fix.diff'
--- a/patches/pdf-link-export-fix.diff  1970-01-01 00:00:00 +0000
+++ b/patches/pdf-link-export-fix.diff  2010-09-22 13:55:00 +0000
@@ -0,0 +1,231 @@
+diff --git a/patches/dev300/apply b/patches/dev300/apply
+index e61b340..65ca71d 100644
+--- openoffice.org-3.3.0/ooo-build-3-2-98-1/patches/dev300/apply
++++ openoffice.org-3.3.0/ooo-build-3-2-98-1/patches/dev300/apply
+@@ -2869,7 +2872,7 @@ svx-hu-name-order.diff, i#105342, timar
+ # to export an empty "link annotation", which gets turned into a
+ # rather bogus file: link to the directory the presentadion document
+ # is in.  Just don't bother handling such empty "link annotations".
+-skip-empty-links-in-pdf.diff, bnc#598816, tml
++pdf-link-export-fix.diff, n#598816, n#639278, cbosdo
+ 
+ # don't set header in DDE tables, usually not what the user wants
+ sw-dde-table-no-header.diff, n#634517, jholesov
+diff --git a/patches/dev300/pdf-link-export-fix.diff 
b/patches/dev300/pdf-link-export-fix.diff
+new file mode 100644
+index 0000000..1bd93b0
+--- /dev/null
++++ 
openoffice.org-3.3.0/ooo-build-3-2-98-1/patches/dev300/pdf-link-export-fix.diff
+@@ -0,0 +1,184 @@
++diff --git sd/source/ui/unoidl/unomodel.cxx sd/source/ui/unoidl/unomodel.cxx
++index d7e36f9..ec181ed 100644
++--- sd/source/ui/unoidl/unomodel.cxx
+++++ sd/source/ui/unoidl/unomodel.cxx
++@@ -1947,7 +1947,9 @@ void SAL_CALL SdXImpressDocument::render( sal_Int32 
nRenderer, const uno::Any& r
++                                     // if necessary, the master page 
interactions will be exported first
++                                     sal_Bool bIsBackgroundObjectsVisible = 
sal_False;        // SJ: #i39428# IsBackgroundObjectsVisible not available for 
Draw
++                                     const rtl::OUString 
sIsBackgroundObjectsVisible( RTL_CONSTASCII_USTRINGPARAM( 
"IsBackgroundObjectsVisible" ) );
++-                                    if ( mbImpressDoc && ( 
xPagePropSet->getPropertyValue( sIsBackgroundObjectsVisible ) >>= 
bIsBackgroundObjectsVisible ) && bIsBackgroundObjectsVisible )
+++                                    if ( xPagePropSet->getPropertySetInfo( 
)->hasPropertyByName( sIsBackgroundObjectsVisible ) )
+++                                        xPagePropSet->getPropertyValue( 
sIsBackgroundObjectsVisible ) >>= bIsBackgroundObjectsVisible;
+++                                    if ( mbImpressDoc && 
bIsBackgroundObjectsVisible )
++                                     {
++                                         uno::Reference< 
drawing::XMasterPageTarget > xMasterPageTarget( xPage, uno::UNO_QUERY );
++                                         if ( xMasterPageTarget.is() )
++@@ -1986,82 +1988,93 @@ void SAL_CALL SdXImpressDocument::render( sal_Int32 
nRenderer, const uno::Any& r
++                                         const rtl::OUString sSpeed ( 
RTL_CONSTASCII_USTRINGPARAM( "Speed" ) );
++                                         sal_Int32 nTime = 800;
++                                         presentation::AnimationSpeed aAs;
++-                                        aAny = 
xPagePropSet->getPropertyValue( sSpeed );
++-                                        if ( aAny >>= aAs )
+++                                        if ( 
xPagePropSet->getPropertySetInfo( )->hasPropertyByName( sSpeed ) )
++                                         {
++-                                            switch( aAs )
+++                                            aAny = 
xPagePropSet->getPropertyValue( sSpeed );
+++                                            if ( aAny >>= aAs )
++                                             {
++-                                                case 
presentation::AnimationSpeed_SLOW : nTime = 1500; break;
++-                                                case 
presentation::AnimationSpeed_FAST : nTime = 300; break;
++-                                                default:
++-                                                case 
presentation::AnimationSpeed_MEDIUM : nTime = 800;
+++                                                switch( aAs )
+++                                                {
+++                                                    case 
presentation::AnimationSpeed_SLOW : nTime = 1500; break;
+++                                                    case 
presentation::AnimationSpeed_FAST : nTime = 300; break;
+++                                                    default:
+++                                                    case 
presentation::AnimationSpeed_MEDIUM : nTime = 800;
+++                                                }
++                                             }
++                                         }
++                                         presentation::FadeEffect eFe;
++-                                        aAny = 
xPagePropSet->getPropertyValue( sEffect );
++                                         vcl::PDFWriter::PageTransition eType 
= vcl::PDFWriter::Regular;
++-                                        if ( aAny >>= eFe )
+++                                        if ( 
xPagePropSet->getPropertySetInfo( )->hasPropertyByName( sEffect ) )
++                                         {
++-                                            switch( eFe )
+++                                            aAny = 
xPagePropSet->getPropertyValue( sEffect );
+++                                            if ( aAny >>= eFe )
++                                             {
++-                                                case 
presentation::FadeEffect_HORIZONTAL_LINES :
++-                                                case 
presentation::FadeEffect_HORIZONTAL_CHECKERBOARD :
++-                                                case 
presentation::FadeEffect_HORIZONTAL_STRIPES : eType = 
vcl::PDFWriter::BlindsHorizontal; break;
++-
++-                                                case 
presentation::FadeEffect_VERTICAL_LINES :
++-                                                case 
presentation::FadeEffect_VERTICAL_CHECKERBOARD :
++-                                                case 
presentation::FadeEffect_VERTICAL_STRIPES : eType = 
vcl::PDFWriter::BlindsVertical; break;
++-
++-                                                case 
presentation::FadeEffect_UNCOVER_TO_RIGHT :
++-                                                case 
presentation::FadeEffect_UNCOVER_TO_UPPERRIGHT :
++-                                                case 
presentation::FadeEffect_ROLL_FROM_LEFT :
++-                                                case 
presentation::FadeEffect_FADE_FROM_UPPERLEFT :
++-                                                case 
presentation::FadeEffect_MOVE_FROM_UPPERLEFT :
++-                                                case 
presentation::FadeEffect_FADE_FROM_LEFT :
++-                                                case 
presentation::FadeEffect_MOVE_FROM_LEFT : eType = 
vcl::PDFWriter::WipeLeftToRight; break;
++-
++-                                                case 
presentation::FadeEffect_UNCOVER_TO_BOTTOM :
++-                                                case 
presentation::FadeEffect_UNCOVER_TO_LOWERRIGHT :
++-                                                case 
presentation::FadeEffect_ROLL_FROM_TOP :
++-                                                case 
presentation::FadeEffect_FADE_FROM_UPPERRIGHT :
++-                                                case 
presentation::FadeEffect_MOVE_FROM_UPPERRIGHT :
++-                                                case 
presentation::FadeEffect_FADE_FROM_TOP :
++-                                                case 
presentation::FadeEffect_MOVE_FROM_TOP : eType = 
vcl::PDFWriter::WipeTopToBottom; break;
++-
++-                                                case 
presentation::FadeEffect_UNCOVER_TO_LEFT :
++-                                                case 
presentation::FadeEffect_UNCOVER_TO_LOWERLEFT :
++-                                                case 
presentation::FadeEffect_ROLL_FROM_RIGHT :
++-
++-                                                case 
presentation::FadeEffect_FADE_FROM_LOWERRIGHT :
++-                                                case 
presentation::FadeEffect_MOVE_FROM_LOWERRIGHT :
++-                                                case 
presentation::FadeEffect_FADE_FROM_RIGHT :
++-                                                case 
presentation::FadeEffect_MOVE_FROM_RIGHT : eType = 
vcl::PDFWriter::WipeRightToLeft; break;
++-
++-                                                case 
presentation::FadeEffect_UNCOVER_TO_TOP :
++-                                                case 
presentation::FadeEffect_UNCOVER_TO_UPPERLEFT :
++-                                                case 
presentation::FadeEffect_ROLL_FROM_BOTTOM :
++-                                                case 
presentation::FadeEffect_FADE_FROM_LOWERLEFT :
++-                                                case 
presentation::FadeEffect_MOVE_FROM_LOWERLEFT :
++-                                                case 
presentation::FadeEffect_FADE_FROM_BOTTOM :
++-                                                case 
presentation::FadeEffect_MOVE_FROM_BOTTOM : eType = 
vcl::PDFWriter::WipeBottomToTop; break;
++-
++-                                                case 
presentation::FadeEffect_OPEN_VERTICAL : eType = 
vcl::PDFWriter::SplitHorizontalInward; break;
++-                                                case 
presentation::FadeEffect_CLOSE_HORIZONTAL : eType = 
vcl::PDFWriter::SplitHorizontalOutward; break;
++-
++-                                                case 
presentation::FadeEffect_OPEN_HORIZONTAL : eType = 
vcl::PDFWriter::SplitVerticalInward; break;
++-                                                case 
presentation::FadeEffect_CLOSE_VERTICAL : eType = 
vcl::PDFWriter::SplitVerticalOutward; break;
++-
++-                                                case 
presentation::FadeEffect_FADE_TO_CENTER : eType = vcl::PDFWriter::BoxInward; 
break;
++-                                                case 
presentation::FadeEffect_FADE_FROM_CENTER : eType = vcl::PDFWriter::BoxOutward; 
break;
++-
++-                                                case 
presentation::FadeEffect_NONE : eType = vcl::PDFWriter::Regular; break;
++-
++-                                                case 
presentation::FadeEffect_RANDOM :
++-                                                case 
presentation::FadeEffect_DISSOLVE :
++-                                                default: eType = 
vcl::PDFWriter::Dissolve; break;
+++                                                switch( eFe )
+++                                                {
+++                                                    case 
presentation::FadeEffect_HORIZONTAL_LINES :
+++                                                    case 
presentation::FadeEffect_HORIZONTAL_CHECKERBOARD :
+++                                                    case 
presentation::FadeEffect_HORIZONTAL_STRIPES : eType = 
vcl::PDFWriter::BlindsHorizontal; break;
+++
+++                                                    case 
presentation::FadeEffect_VERTICAL_LINES :
+++                                                    case 
presentation::FadeEffect_VERTICAL_CHECKERBOARD :
+++                                                    case 
presentation::FadeEffect_VERTICAL_STRIPES : eType = 
vcl::PDFWriter::BlindsVertical; break;
+++
+++                                                    case 
presentation::FadeEffect_UNCOVER_TO_RIGHT :
+++                                                    case 
presentation::FadeEffect_UNCOVER_TO_UPPERRIGHT :
+++                                                    case 
presentation::FadeEffect_ROLL_FROM_LEFT :
+++                                                    case 
presentation::FadeEffect_FADE_FROM_UPPERLEFT :
+++                                                    case 
presentation::FadeEffect_MOVE_FROM_UPPERLEFT :
+++                                                    case 
presentation::FadeEffect_FADE_FROM_LEFT :
+++                                                    case 
presentation::FadeEffect_MOVE_FROM_LEFT : eType = 
vcl::PDFWriter::WipeLeftToRight; break;
+++
+++                                                    case 
presentation::FadeEffect_UNCOVER_TO_BOTTOM :
+++                                                    case 
presentation::FadeEffect_UNCOVER_TO_LOWERRIGHT :
+++                                                    case 
presentation::FadeEffect_ROLL_FROM_TOP :
+++                                                    case 
presentation::FadeEffect_FADE_FROM_UPPERRIGHT :
+++                                                    case 
presentation::FadeEffect_MOVE_FROM_UPPERRIGHT :
+++                                                    case 
presentation::FadeEffect_FADE_FROM_TOP :
+++                                                    case 
presentation::FadeEffect_MOVE_FROM_TOP : eType = 
vcl::PDFWriter::WipeTopToBottom; break;
+++
+++                                                    case 
presentation::FadeEffect_UNCOVER_TO_LEFT :
+++                                                    case 
presentation::FadeEffect_UNCOVER_TO_LOWERLEFT :
+++                                                    case 
presentation::FadeEffect_ROLL_FROM_RIGHT :
+++
+++                                                    case 
presentation::FadeEffect_FADE_FROM_LOWERRIGHT :
+++                                                    case 
presentation::FadeEffect_MOVE_FROM_LOWERRIGHT :
+++                                                    case 
presentation::FadeEffect_FADE_FROM_RIGHT :
+++                                                    case 
presentation::FadeEffect_MOVE_FROM_RIGHT : eType = 
vcl::PDFWriter::WipeRightToLeft; break;
+++
+++                                                    case 
presentation::FadeEffect_UNCOVER_TO_TOP :
+++                                                    case 
presentation::FadeEffect_UNCOVER_TO_UPPERLEFT :
+++                                                    case 
presentation::FadeEffect_ROLL_FROM_BOTTOM :
+++                                                    case 
presentation::FadeEffect_FADE_FROM_LOWERLEFT :
+++                                                    case 
presentation::FadeEffect_MOVE_FROM_LOWERLEFT :
+++                                                    case 
presentation::FadeEffect_FADE_FROM_BOTTOM :
+++                                                    case 
presentation::FadeEffect_MOVE_FROM_BOTTOM : eType = 
vcl::PDFWriter::WipeBottomToTop; break;
+++
+++                                                    case 
presentation::FadeEffect_OPEN_VERTICAL : eType = 
vcl::PDFWriter::SplitHorizontalInward; break;
+++                                                    case 
presentation::FadeEffect_CLOSE_HORIZONTAL : eType = 
vcl::PDFWriter::SplitHorizontalOutward; break;
+++
+++                                                    case 
presentation::FadeEffect_OPEN_HORIZONTAL : eType = 
vcl::PDFWriter::SplitVerticalInward; break;
+++                                                    case 
presentation::FadeEffect_CLOSE_VERTICAL : eType = 
vcl::PDFWriter::SplitVerticalOutward; break;
+++
+++                                                    case 
presentation::FadeEffect_FADE_TO_CENTER : eType = vcl::PDFWriter::BoxInward; 
break;
+++                                                    case 
presentation::FadeEffect_FADE_FROM_CENTER : eType = vcl::PDFWriter::BoxOutward; 
break;
+++
+++                                                    case 
presentation::FadeEffect_NONE : eType = vcl::PDFWriter::Regular; break;
+++
+++                                                    case 
presentation::FadeEffect_RANDOM :
+++                                                    case 
presentation::FadeEffect_DISSOLVE :
+++                                                    default: eType = 
vcl::PDFWriter::Dissolve; break;
+++                                                }
++                                             }
++                                         }
++-                                        
pPDFExtOutDevData->SetPageTransition( eType, nTime, -1 );
+++                                        
+++                                        if ( 
xPagePropSet->getPropertySetInfo( )->hasPropertyByName( sEffect ) ||
+++                                             
xPagePropSet->getPropertySetInfo( )->hasPropertyByName( sSpeed ) )
+++                                        {
+++                                             
pPDFExtOutDevData->SetPageTransition( eType, nTime, -1 );
+++                                        }
++                                     }
++                                 }
++                             }
++@@ -2108,7 +2121,7 @@ void SAL_CALL SdXImpressDocument::render( sal_Int32 
nRenderer, const uno::Any& r
++                             }
++                             //<--- i56629, i40318
++                         }
++-                        catch( uno::Exception& )
+++                        catch( uno::Exception& e )
++                         {
++                         }
++ 
+diff --git a/patches/dev300/skip-empty-links-in-pdf.diff 
b/patches/dev300/skip-empty-links-in-pdf.diff
+deleted file mode 100644
+index 653d06a..0000000
+--- 
openoffice.org-3.3.0/ooo-build-3-2-98-1/patches/dev300/skip-empty-links-in-pdf.diff
++++ dev/null
+@@ -1,20 +0,0 @@
+----
+- vcl/source/gdi/pdfwriter_impl.cxx |    2 ++
+- 1 files changed, 2 insertions(+), 0 deletions(-)
+-
+-diff --git vcl/source/gdi/pdfwriter_impl.cxx vcl/source/gdi/pdfwriter_impl.cxx
+-index 0296eb6..f6370ef 100644
+---- vcl/source/gdi/pdfwriter_impl.cxx
+-+++ vcl/source/gdi/pdfwriter_impl.cxx
+-@@ -4490,6 +4490,8 @@ bool PDFWriterImpl::emitLinkAnnotations()
+-     for( int i = 0; i < nAnnots; i++ )
+-     {
+-         const PDFLink& rLink                 = m_aLinks[i];
+-+        if( rLink.m_aURL.getLength() == 0 )
+-+            continue;
+-         if( ! updateObject( rLink.m_nObject ) )
+-             continue;
+- 
+--- 
+-1.7.0.1
+-
+--
+cgit v0.8.3-6-g21f6

=== modified file 'patches/series'
--- a/patches/series    2010-09-20 15:51:12 +0000
+++ b/patches/series    2010-09-22 13:55:00 +0000
@@ -2,3 +2,4 @@
 #reduce-height-on-dialogs-for-netbooks.diff
 regcomp-fix-spelling.diff
 shift-translations.diff
+pdf-link-export-fix.diff

Reply via email to