From b523694ca366bf287f6143924d453f3427b70dc1 Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
Date: Tue, 22 Mar 2016 09:10:46 +0100
Subject: [PATCH] delete hidden pages before deleting unused masters

---
 ...pages-before-deleting-unused-masters.patch | 52 +++++++++++++++++++
 libreoffice.spec                              |  1 +
 2 files changed, 53 insertions(+)
 create mode 100644 0001-delete-hidden-pages-before-deleting-unused-masters.patch

diff --git a/0001-delete-hidden-pages-before-deleting-unused-masters.patch b/0001-delete-hidden-pages-before-deleting-unused-masters.patch
new file mode 100644
index 0000000..b28b133
--- /dev/null
+++ b/0001-delete-hidden-pages-before-deleting-unused-masters.patch
@@ -0,0 +1,52 @@
+From 0f0cea28c75a6565c7803b54536d4a8720ead160 Mon Sep 17 00:00:00 2001
+From: David Tardon <dtardon@redhat.com>
+Date: Tue, 22 Mar 2016 09:03:56 +0100
+Subject: [PATCH] delete hidden pages before deleting unused masters
+
+Change-Id: I40b624c0e6e6cff2c88815f7d16e862f09d79d5c
+---
+ sdext/source/minimizer/impoptimizer.cxx | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/sdext/source/minimizer/impoptimizer.cxx b/sdext/source/minimizer/impoptimizer.cxx
+index 03ba917..53600ed 100644
+--- a/sdext/source/minimizer/impoptimizer.cxx
++++ b/sdext/source/minimizer/impoptimizer.cxx
+@@ -518,27 +518,27 @@ bool ImpOptimizer::Optimize()
+     if ( !maCustomShowName.isEmpty() )
+         ImpExtractCustomShow( mxModel, maCustomShowName );
+ 
+-    if ( mbDeleteUnusedMasterPages )
++    if ( mbDeleteHiddenSlides )
+     {
+         SetStatusValue( TK_Progress, Any( static_cast< sal_Int32 >( 40 ) ) );
+         SetStatusValue( TK_Status, Any( OUString("STR_DELETING_SLIDES") ) );
+         DispatchStatus();
+-        ImpDeleteUnusedMasterPages( mxModel );
++        ImpDeleteHiddenSlides( mxModel );
+     }
+ 
+-    if ( mbDeleteHiddenSlides )
++    if ( mbDeleteNotesPages )
+     {
+-        SetStatusValue( TK_Progress, Any( static_cast< sal_Int32 >( 40 ) ) );
+         SetStatusValue( TK_Status, Any( OUString("STR_DELETING_SLIDES") ) );
+         DispatchStatus();
+-        ImpDeleteHiddenSlides( mxModel );
++        ImpDeleteNotesPages( mxModel );
+     }
+ 
+-    if ( mbDeleteNotesPages )
++    if ( mbDeleteUnusedMasterPages )
+     {
++        SetStatusValue( TK_Progress, Any( static_cast< sal_Int32 >( 40 ) ) );
+         SetStatusValue( TK_Status, Any( OUString("STR_DELETING_SLIDES") ) );
+         DispatchStatus();
+-        ImpDeleteNotesPages( mxModel );
++        ImpDeleteUnusedMasterPages( mxModel );
+     }
+ 
+     if ( mbOLEOptimization )
+-- 
+2.5.0
+
diff --git a/libreoffice.spec b/libreoffice.spec
index 567699e..a844efe 100644
--- a/libreoffice.spec
+++ b/libreoffice.spec
@@ -260,6 +260,7 @@ Patch25: 0001-gtk3-various-bits-means-different-things-again.patch
 Patch26: 0001-Resolves-tdf-98638-sometimes-menu-grab-doesn-t-take.patch
 Patch27: 0001-Resolves-tdf-98636.patch
 Patch28: 0001-Resolves-tdf-96989-videos-playback-at-maximum-possib.patch
+Patch29: 0001-delete-hidden-pages-before-deleting-unused-masters.patch
 
 %if ! 0%{?rhel}
 Patch400: 0001-Update-liborcus-to-0.11.0.patch