[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - 3 commits - desktop/source reportdesign/source sfx2/source

Michael Stahl mstahl at redhat.com
Fri Dec 5 15:17:00 PST 2014


 desktop/source/app/app.cxx               |    6 ++++--
 reportdesign/source/core/api/Section.cxx |    2 ++
 sfx2/source/doc/objstor.cxx              |    2 +-
 3 files changed, 7 insertions(+), 3 deletions(-)

New commits:
commit 5ca70e202e1568547c2eab4fb0f12176f295117f
Author: Michael Stahl <mstahl at redhat.com>
Date:   Fri Dec 5 23:52:34 2014 +0100

    fdo#72811: Revert "Broken security/password when saving to older odf (sx?)
    
    ... formats."
    
    This exports ODF 1.1 files as ODF 1.2 packages, which is quite wrong.
    Since we don't support OOoXML export any more, just revert it.
    
    This reverts commit 06b918053fb9cf455cf431ca001a63030092d018.
    
    (cherry picked from commit ebfec3517d001f8aa8baaabde7c4af6b01347b95)
    
    Change-Id: I27bdd83f96e46be054f808ff6782ad16ecc90da5

diff --git a/sfx2/source/doc/objstor.cxx b/sfx2/source/doc/objstor.cxx
index aad3867..6decd97 100644
--- a/sfx2/source/doc/objstor.cxx
+++ b/sfx2/source/doc/objstor.cxx
@@ -380,7 +380,7 @@ void SfxObjectShell::SetupStorage( const uno::Reference< embed::XStorage >& xSto
                 aEncryptionAlgs[1].Value <<= xml::crypto::CipherID::BLOWFISH_CFB_8;
                 aEncryptionAlgs[2].Value <<= xml::crypto::DigestID::SHA1_1K;
 
-                if ( nVersion >= SOFFICE_FILEFORMAT_8 )
+                if ( nDefVersion >= SvtSaveOptions::ODFVER_012 )
                 {
                     try
                     {
commit 77a99ad0e5f57310a6f33d8937e72c122fcdb788
Author: Michael Stahl <mstahl at redhat.com>
Date:   Fri Dec 5 22:24:14 2014 +0100

    fdo#85112: reportdesign: fix SolarMutex assertion
    
    A bit tricky, but all of the UNO wrappers for SdrObjects etc. in svx use
    the SolarMutex for locking, so it's reasonable to expect that
    reportdesign code also has to lock SolarMutex when it manipulates these.
    
    Change-Id: I3cade8f53d7655e249b82673c87238d5a17256cb
    (cherry picked from commit a2a9c84deff54321da0042212bae86ede25dd7e2)

diff --git a/reportdesign/source/core/api/Section.cxx b/reportdesign/source/core/api/Section.cxx
index e70bb3b..71993ad 100644
--- a/reportdesign/source/core/api/Section.cxx
+++ b/reportdesign/source/core/api/Section.cxx
@@ -34,6 +34,7 @@
 #include "ReportDefinition.hxx"
 #include "Shape.hxx"
 #include <svx/unoshape.hxx>
+#include <vcl/svapp.hxx>
 #include "RptObject.hxx"
 #include "ReportDrawPage.hxx"
 #include <comphelper/property.hxx>
@@ -197,6 +198,7 @@ sal_Bool SAL_CALL OSection::supportsService( const OUString& _rServiceName ) thr
 
 void OSection::init()
 {
+    SolarMutexGuard g; // lock while manipulating SdrModel
     uno::Reference< report::XReportDefinition> xReport = getReportDefinition();
     ::boost::shared_ptr<rptui::OReportModel> pModel = OReportDefinition::getSdrModel(xReport);
     assert(pModel && "No model set at the report definition!");
commit e717a81304ca3d7b081b7581c82f173e9da31176
Author: Michael Stahl <mstahl at redhat.com>
Date:   Fri Dec 5 20:57:20 2014 +0100

    desktop: avoid starting with new writer doc if OOO_DISABLE_RECOVERY set
    
    Better to show the start center, same as when --norestore is given.
    
    Change-Id: I726a8b7d227b646180fe16ee9c302a329a7fa36c
    (cherry picked from commit dce74be2bab7a6924578e8f6f6ce37aa593cc481)

diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index 1158142..b1003f4 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -2291,10 +2291,11 @@ void Desktop::OpenClients()
         bool bCrashed            = false;
         bool bExistsRecoveryData = false;
         bool bExistsSessionData  = false;
+        bool const bDisableRecovery = getenv("OOO_DISABLE_RECOVERY") != nullptr;
 
         impl_checkRecoveryState(bCrashed, bExistsRecoveryData, bExistsSessionData);
 
-        if ( !getenv ("OOO_DISABLE_RECOVERY") &&
+        if ( !bDisableRecovery &&
             (
                 ( bExistsRecoveryData ) || // => crash with files    => recovery
                 ( bCrashed            )    // => crash without files => error report
@@ -2325,7 +2326,8 @@ void Desktop::OpenClients()
             SAL_WARN( "desktop.app", "Registration of session listener failed" << e.Message);
         }
 
-        if ( !bExistsRecoveryData && xSessionListener.is() )
+        // in bDisableRecovery case call doRestore() to prevent new Writer doc
+        if ((!bExistsRecoveryData || bDisableRecovery) && xSessionListener.is())
         {
             // session management
             try


More information about the Libreoffice-commits mailing list