[Libreoffice-commits] .: 2 commits - RepositoryExternal.mk sd/source sfx2/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Tue Dec 4 04:49:55 PST 2012


 RepositoryExternal.mk                                    |    2 ++
 sd/source/ui/toolpanel/controls/MasterPageContainer.cxx  |    8 ++++++--
 sd/source/ui/toolpanel/controls/MasterPageDescriptor.cxx |    7 ++++---
 sd/source/ui/toolpanel/controls/MasterPageDescriptor.hxx |    5 +++--
 sd/source/ui/toolpanel/controls/MasterPagesSelector.cxx  |    6 ++++++
 sfx2/source/appl/appopen.cxx                             |    2 +-
 6 files changed, 22 insertions(+), 8 deletions(-)

New commits:
commit 2a9c83fa8ac7e94d7124889e760c7343ccf3c19b
Author: Rob Snelders <programming at ertai.nl>
Date:   Sun Dec 2 15:25:56 2012 +0100

    fdo#56877 CRASH when profile contains invalid RecentlyUsedMasterpages
    
    Change-Id: Ia875d6b04b5ce6a026a57aaef2c17fc02a503ae9
    Reviewed-on: https://gerrit.libreoffice.org/1224
    Reviewed-by: Thorsten Behrens <tbehrens at suse.com>
    Tested-by: Thorsten Behrens <tbehrens at suse.com>

diff --git a/sd/source/ui/toolpanel/controls/MasterPageContainer.cxx b/sd/source/ui/toolpanel/controls/MasterPageContainer.cxx
index f90dc2c..f17a224 100644
--- a/sd/source/ui/toolpanel/controls/MasterPageContainer.cxx
+++ b/sd/source/ui/toolpanel/controls/MasterPageContainer.cxx
@@ -1159,13 +1159,17 @@ bool MasterPageContainer::Implementation::UpdateDescriptor (
     // Update the page object (which may be used for the preview update).
     if (bForcePageObject)
         GetDocument();
-    bool bPageObjectModified (rpDescriptor->UpdatePageObject(
+    int bPageObjectModified (rpDescriptor->UpdatePageObject(
         (bForcePageObject ? -1 : nCostThreshold),
         mpDocument));
-    if (bPageObjectModified && bSendEvents)
+    if (bPageObjectModified == 1 && bSendEvents)
         FireContainerChange(
             MasterPageContainerChangeEvent::DATA_CHANGED,
             rpDescriptor->maToken);
+    if (bPageObjectModified == -1 && bSendEvents)
+        FireContainerChange(
+            MasterPageContainerChangeEvent::CHILD_REMOVED,
+            rpDescriptor->maToken);
     if (bPageObjectModified && ! mbFirstPageObjectSeen)
         UpdatePreviewSizePixel();
 
diff --git a/sd/source/ui/toolpanel/controls/MasterPageDescriptor.cxx b/sd/source/ui/toolpanel/controls/MasterPageDescriptor.cxx
index 2601d27..fdd38c6 100644
--- a/sd/source/ui/toolpanel/controls/MasterPageDescriptor.cxx
+++ b/sd/source/ui/toolpanel/controls/MasterPageDescriptor.cxx
@@ -177,11 +177,11 @@ SAL_WNODEPRECATED_DECLARATIONS_POP
 
 
 
-bool MasterPageDescriptor::UpdatePageObject (
+int MasterPageDescriptor::UpdatePageObject (
     sal_Int32 nCostThreshold,
     SdDrawDocument* pDocument)
 {
-    bool bModified (false);
+    int bModified = 0;
 
     // Update the page object when that is not yet known.
     if (mpMasterPage == NULL
@@ -221,9 +221,10 @@ bool MasterPageDescriptor::UpdatePageObject (
         else
         {
             DBG_ASSERT(false, "UpdatePageObject: master page is NULL");
+            return -1;
         }
 
-        bModified = true;
+        bModified = 1;
     }
 
     return bModified;
diff --git a/sd/source/ui/toolpanel/controls/MasterPageDescriptor.hxx b/sd/source/ui/toolpanel/controls/MasterPageDescriptor.hxx
index d77186a..0896a09 100644
--- a/sd/source/ui/toolpanel/controls/MasterPageDescriptor.hxx
+++ b/sd/source/ui/toolpanel/controls/MasterPageDescriptor.hxx
@@ -121,9 +121,10 @@ public:
             a page object with or store one in.
         @return
             When the master page object is successfully provided then
-            <TRUE/> is returned.
+            1 is returned, on no change then a 0 is provided,
+            on a masterpage-error a -1 is provided.
     */
-    bool UpdatePageObject (
+    int UpdatePageObject (
         sal_Int32 nCostThreshold,
         SdDrawDocument* pDocument);
 
diff --git a/sd/source/ui/toolpanel/controls/MasterPagesSelector.cxx b/sd/source/ui/toolpanel/controls/MasterPagesSelector.cxx
index 3951a37..512fd1d 100644
--- a/sd/source/ui/toolpanel/controls/MasterPagesSelector.cxx
+++ b/sd/source/ui/toolpanel/controls/MasterPagesSelector.cxx
@@ -432,6 +432,12 @@ void MasterPagesSelector::NotifyContainerChangeEvent (const MasterPageContainerC
         }
         break;
 
+        case MasterPageContainerChangeEvent::CHILD_REMOVED:
+        {
+            int nIndex (GetIndexForToken(rEvent.maChildToken));
+            SetItem(nIndex, MasterPageContainer::NIL_TOKEN);
+        }
+
         default:
             break;
    }
diff --git a/sfx2/source/appl/appopen.cxx b/sfx2/source/appl/appopen.cxx
index 6e11151..afddf87 100644
--- a/sfx2/source/appl/appopen.cxx
+++ b/sfx2/source/appl/appopen.cxx
@@ -397,7 +397,7 @@ sal_uIntPtr SfxApplication::LoadTemplate( SfxObjectShellLock& xDoc, const String
     const SfxFilter* pFilter = NULL;
     SfxMedium aMedium( rFileName,  ( STREAM_READ | STREAM_SHARE_DENYNONE ) );
 
-    if ( !aMedium.GetStorage( sal_True ).is() )
+    if ( !aMedium.GetStorage( sal_False ).is() )
         aMedium.GetInStream();
 
     if ( aMedium.GetError() )
commit 75a2c5014826e3095a49799eaa40f461dfddabcb
Author: Michael Stahl <mstahl at redhat.com>
Date:   Tue Dec 4 13:47:22 2012 +0100

    RepositoryExternal.mk: try to fix python3 external on Mac
    
    Change-Id: I934d6b89624482e9bca763a1b6c8efac86dff39e

diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 2159be1..fc307e3 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -1966,8 +1966,10 @@ endef
 
 else # !SYSTEM_PYTHON
 
+# depend on external project because on MACOSX the Package is disabled...
 define gb_LinkTarget__use_python_headers
 $(call gb_LinkTarget_use_package,$(1),python3)
+$(call gb_LinkTarget_use_external_project,$(1),python3)
 $(call gb_LinkTarget_set_include,$(1),\
 	-I$(call gb_UnpackedTarball_get_dir,python3) \
 	-I$(call gb_UnpackedTarball_get_dir,python3)/PC \


More information about the Libreoffice-commits mailing list