update to 5.2.1 rc1

f41
David Tardon 8 years ago
parent a32e2cfcb4
commit 77ecb0549a

3
.gitignore vendored

@ -33,3 +33,6 @@
/libreoffice-5.2.0.4.tar.xz
/libreoffice-help-5.2.0.4.tar.xz
/libreoffice-translations-5.2.0.4.tar.xz
/libreoffice-5.2.1.1.tar.xz
/libreoffice-help-5.2.1.1.tar.xz
/libreoffice-translations-5.2.1.1.tar.xz

@ -1,191 +0,0 @@
From 9f74d796ce16e045f659862fef1fe93e2a020518 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Fri, 22 Jul 2016 09:39:55 +0100
Subject: [PATCH] Related: rhbz#1065807 recover using xdg templates and
documents settings
lost since...
commit 3cf557c12d27f1b2250e69a543136da098112d80
Author: Bjoern Michaelsen <bjoern.michaelsen@canonical.com>
Date: Fri Oct 16 12:15:55 2015 +0100
drop gconf integration as per ESC decision
Change-Id: If2c594174a6fa8c524d9664c9f197cb7c6d4641d
---
shell/source/backends/desktopbe/desktopbackend.cxx | 125 +++++++++++++++++++--
1 file changed, 118 insertions(+), 7 deletions(-)
diff --git a/shell/source/backends/desktopbe/desktopbackend.cxx b/shell/source/backends/desktopbe/desktopbackend.cxx
index 745d96d..f4a2169 100644
--- a/shell/source/backends/desktopbe/desktopbackend.cxx
+++ b/shell/source/backends/desktopbe/desktopbackend.cxx
@@ -42,9 +42,12 @@
#include "cppuhelper/implementationentry.hxx"
#include "cppuhelper/weak.hxx"
#include "osl/diagnose.h"
+#include "osl/file.hxx"
+#include "osl/security.hxx"
#include "rtl/string.h"
#include "rtl/textenc.h"
#include "rtl/ustring.h"
+#include "rtl/ustrbuf.hxx"
#include "rtl/ustring.hxx"
#include "sal/types.h"
#include "uno/current_context.hxx"
@@ -148,17 +151,128 @@ void Default::setPropertyValue(OUString const &, css::uno::Any const &)
static_cast< cppu::OWeakObject * >(this), -1);
}
+static OUString xdg_user_dir_lookup (const char *type)
+{
+ char *config_home;
+ char *p;
+ bool bError = false;
+
+ osl::Security aSecurity;
+ oslFileHandle handle;
+ OUString aHomeDirURL;
+ OUString aDocumentsDirURL;
+ OUString aConfigFileURL;
+ OUStringBuffer aUserDirBuf;
+
+ if (!aSecurity.getHomeDir( aHomeDirURL ) )
+ {
+ osl::FileBase::getFileURLFromSystemPath(OUString("/tmp"), aDocumentsDirURL);
+ return aDocumentsDirURL;
+ }
+
+ config_home = getenv ("XDG_CONFIG_HOME");
+ if (config_home == NULL || config_home[0] == 0)
+ {
+ aConfigFileURL = aHomeDirURL + "/.config/user-dirs.dirs";
+ }
+ else
+ {
+ aConfigFileURL = OUString::createFromAscii(config_home) + "/user-dirs.dirs";
+ }
+
+ if(osl_File_E_None == osl_openFile(aConfigFileURL.pData, &handle, osl_File_OpenFlag_Read))
+ {
+ rtl::ByteSequence seq;
+ while (osl_File_E_None == osl_readLine(handle , reinterpret_cast<sal_Sequence **>(&seq)))
+ {
+ /* Remove newline at end */
+ int relative = 0;
+ int len = seq.getLength();
+ if(len>0 && seq[len-1] == '\n')
+ seq[len-1] = 0;
+
+ p = reinterpret_cast<char *>(seq.getArray());
+ while (*p == ' ' || *p == '\t')
+ p++;
+ if (strncmp (p, "XDG_", 4) != 0)
+ continue;
+ p += 4;
+ if (strncmp (p, type, strlen (type)) != 0)
+ continue;
+ p += strlen (type);
+ if (strncmp (p, "_DIR", 4) != 0)
+ continue;
+ p += 4;
+ while (*p == ' ' || *p == '\t')
+ p++;
+ if (*p != '=')
+ continue;
+ p++;
+ while (*p == ' ' || *p == '\t')
+ p++;
+ if (*p != '"')
+ continue;
+ p++;
+ if (strncmp (p, "$HOME/", 6) == 0)
+ {
+ p += 6;
+ relative = 1;
+ }
+ else if (*p != '/')
+ continue;
+ if (relative)
+ {
+ aUserDirBuf = OUStringBuffer(aHomeDirURL + "/");
+ }
+ else
+ {
+ aUserDirBuf = OUStringBuffer();
+ }
+ while (*p && *p != '"')
+ {
+ if ((*p == '\\') && (*(p+1) != 0))
+ p++;
+ aUserDirBuf.append((sal_Unicode)*p++);
+ }
+ }//end of while
+ osl_closeFile(handle);
+ }
+ else
+ bError = true;
+ if (aUserDirBuf.getLength()>0 && !bError)
+ {
+ aDocumentsDirURL = aUserDirBuf.makeStringAndClear();
+ osl::Directory aDocumentsDir( aDocumentsDirURL );
+ if( osl::FileBase::E_None == aDocumentsDir.open() )
+ return aDocumentsDirURL;
+ }
+ /* Use fallbacks historical compatibility if nothing else exists */
+ return aHomeDirURL + "/" + OUString::createFromAscii(type);
+}
+
css::uno::Any Default::getPropertyValue(OUString const & PropertyName)
throw (
css::beans::UnknownPropertyException, css::lang::WrappedTargetException,
css::uno::RuntimeException, std::exception)
{
+ if (PropertyName == "TemplatePathVariable")
+ {
+ OUString aDirURL = xdg_user_dir_lookup("Templates");
+ css::uno::Any aValue(aDirURL);
+ return css::uno::makeAny(css::beans::Optional<css::uno::Any>(true, aValue));
+ }
+
+ if (PropertyName == "WorkPathVariable")
+ {
+ OUString aDirURL = xdg_user_dir_lookup("Documents");
+ css::uno::Any aValue(aDirURL);
+ return css::uno::makeAny(css::beans::Optional<css::uno::Any>(true, aValue));
+ }
+
if ( PropertyName == "EnableATToolSupport" ||
PropertyName == "ExternalMailer" ||
PropertyName == "SourceViewFontHeight" ||
PropertyName == "SourceViewFontName" ||
- PropertyName == "TemplatePathVariable" ||
- PropertyName == "WorkPathVariable" ||
PropertyName == "ooInetFTPProxyName" ||
PropertyName == "ooInetFTPProxyPort" ||
PropertyName == "ooInetHTTPProxyName" ||
@@ -172,6 +286,7 @@ css::uno::Any Default::getPropertyValue(OUString const & PropertyName)
{
return css::uno::makeAny(css::beans::Optional< css::uno::Any >());
}
+
throw css::beans::UnknownPropertyException(
PropertyName, static_cast< cppu::OWeakObject * >(this));
}
@@ -209,11 +324,7 @@ css::uno::Reference< css::uno::XInterface > SAL_CALL createInstance(
// Fall back to the default if the specific backend is not available:
css::uno::Reference< css::uno::XInterface > backend;
- if ( desktop == "GNOME" ) {
- backend = createBackend(
- context,
- "com.sun.star.configuration.backend.GconfBackend");
- } else if ( desktop == "KDE" ) {
+ if ( desktop == "KDE" ) {
backend = createBackend(
context,
"com.sun.star.configuration.backend.KDEBackend");
--
2.7.4

@ -1,75 +0,0 @@
From 2a944f0b26c6f9732da8981962034aa0f2b9ecf7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Wed, 6 Jul 2016 12:29:25 +0100
Subject: [PATCH] Resolves: rhbz#1352881 turn off undo generation during undo
Change-Id: I6aa4ceb09b252ad0b04d8e0a89d8c3327f565b49
Reviewed-on: https://gerrit.libreoffice.org/26980
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Eike Rathke <erack@redhat.com>
(cherry picked from commit 06287b9c348281612854d67c4eb2e7a38dc722ca)
Reviewed-on: https://gerrit.libreoffice.org/27065
---
sc/source/ui/undo/undobase.cxx | 36 ++++++++++++++++++++++++++++++++++--
1 file changed, 34 insertions(+), 2 deletions(-)
diff --git a/sc/source/ui/undo/undobase.cxx b/sc/source/ui/undo/undobase.cxx
index 792cde5..0133f9a 100644
--- a/sc/source/ui/undo/undobase.cxx
+++ b/sc/source/ui/undo/undobase.cxx
@@ -96,9 +96,36 @@ void ScSimpleUndo::BeginUndo()
pDetectiveUndo->Undo();
}
+namespace
+{
+ class DisableUndoGuard
+ {
+ private:
+ ScDocument& m_rDoc;
+ bool m_bUndoEnabled;
+ public:
+ DisableUndoGuard(ScDocShell *pDocShell)
+ : m_rDoc(pDocShell->GetDocument())
+ , m_bUndoEnabled(m_rDoc.IsUndoEnabled())
+ {
+ m_rDoc.EnableUndo(false);
+ }
+
+ ~DisableUndoGuard()
+ {
+ m_rDoc.EnableUndo(m_bUndoEnabled);
+ }
+ };
+}
+
void ScSimpleUndo::EndUndo()
{
- pDocShell->SetDocumentModified();
+ {
+ // rhbz#1352881 Temporarily turn off undo generation during
+ // SetDocumentModified
+ DisableUndoGuard aGuard(pDocShell);
+ pDocShell->SetDocumentModified();
+ }
ScTabViewShell* pViewShell = ScTabViewShell::GetActiveViewShell();
if (pViewShell)
@@ -125,7 +152,12 @@ void ScSimpleUndo::EndRedo()
if (pDetectiveUndo)
pDetectiveUndo->Redo();
- pDocShell->SetDocumentModified();
+ {
+ // rhbz#1352881 Temporarily turn off undo generation during
+ // SetDocumentModified
+ DisableUndoGuard aGuard(pDocShell);
+ pDocShell->SetDocumentModified();
+ }
ScTabViewShell* pViewShell = ScTabViewShell::GetActiveViewShell();
if (pViewShell)
--
2.7.4

@ -1,197 +0,0 @@
From de4908eb4d2f1f2ce38a37eea18a9efc4a0073b1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Wed, 6 Jul 2016 10:10:27 +0100
Subject: [PATCH] Resolves: rhbz#1353069 don't clear XATTR_FILL* from
stylesheet if...
the master page is not the sole owner. Which happens when copying
and pasting slides which bring along a duplicate master page to
an already existing one, and the attempt to remove the duplicate
strips the fill properties from the shared stylesheet in use by
the other
regression from...
commit b876bbe2cacce8af379b10d82da6c7e7d229b361
Author: David Tardon <dtardon@redhat.com>
Date: Tue Apr 26 09:17:11 2016 +0200
rbhz#1326602 avoid exp. bg bitmaps from deleted slides
Change-Id: I91fb8f622a0e35741ecc37cef14fc93199bb730b
---
include/svx/svdundo.hxx | 5 +--
reportdesign/source/core/inc/ReportUndoFactory.hxx | 2 +-
reportdesign/source/core/sdr/ReportUndoFactory.cxx | 4 +--
sc/source/core/data/drwlayer.cxx | 2 +-
sd/source/core/drawdoc3.cxx | 13 ++++++--
svx/source/svdraw/svdundo.cxx | 37 +++++++++++++---------
6 files changed, 40 insertions(+), 23 deletions(-)
diff --git a/include/svx/svdundo.hxx b/include/svx/svdundo.hxx
index dc09f22..9d63557 100644
--- a/include/svx/svdundo.hxx
+++ b/include/svx/svdundo.hxx
@@ -588,9 +588,10 @@ class SVX_DLLPUBLIC SdrUndoDelPage : public SdrUndoPageList
SdrUndoGroup* pUndoGroup;
std::unique_ptr<SfxPoolItem> mpFillBitmapItem;
bool mbHasFillBitmap;
+ bool mbSoleOwnerOfFillBitmapProps;
public:
- SdrUndoDelPage(SdrPage& rNewPg);
+ SdrUndoDelPage(SdrPage& rNewPg, bool bSoleOwnerOfFillBitmapProps);
virtual ~SdrUndoDelPage();
virtual void Undo() override;
@@ -762,7 +763,7 @@ public:
virtual SdrUndoAction* CreateUndoMoveLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel, sal_uInt16 nNeuPos1);
// Page
- virtual SdrUndoAction* CreateUndoDeletePage(SdrPage& rPage);
+ virtual SdrUndoAction* CreateUndoDeletePage(SdrPage& rPage, bool bSoleOwnerOfFillBitmapProps = true);
virtual SdrUndoAction* CreateUndoNewPage(SdrPage& rPage);
virtual SdrUndoAction* CreateUndoCopyPage(SdrPage& rPage);
virtual SdrUndoAction* CreateUndoSetPageNum(SdrPage& rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1);
diff --git a/reportdesign/source/core/inc/ReportUndoFactory.hxx b/reportdesign/source/core/inc/ReportUndoFactory.hxx
index 88d0024..1839f1f 100644
--- a/reportdesign/source/core/inc/ReportUndoFactory.hxx
+++ b/reportdesign/source/core/inc/ReportUndoFactory.hxx
@@ -59,7 +59,7 @@ namespace rptui
virtual SdrUndoAction* CreateUndoMoveLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel, sal_uInt16 nNeuPos1) override;
// page
- virtual SdrUndoAction* CreateUndoDeletePage(SdrPage& rPage) override;
+ virtual SdrUndoAction* CreateUndoDeletePage(SdrPage& rPage, bool bSoleOwnerOfFillBitmapProps = true) override;
virtual SdrUndoAction* CreateUndoNewPage(SdrPage& rPage) override;
virtual SdrUndoAction* CreateUndoCopyPage(SdrPage& rPage) override;
virtual SdrUndoAction* CreateUndoSetPageNum(SdrPage& rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1) override;
diff --git a/reportdesign/source/core/sdr/ReportUndoFactory.cxx b/reportdesign/source/core/sdr/ReportUndoFactory.cxx
index cbb5a8a..566400c 100644
--- a/reportdesign/source/core/sdr/ReportUndoFactory.cxx
+++ b/reportdesign/source/core/sdr/ReportUndoFactory.cxx
@@ -133,9 +133,9 @@ SdrUndoAction* OReportUndoFactory::CreateUndoMoveLayer(sal_uInt16 nLayerNum, Sdr
}
// page
-SdrUndoAction* OReportUndoFactory::CreateUndoDeletePage(SdrPage& rPage)
+SdrUndoAction* OReportUndoFactory::CreateUndoDeletePage(SdrPage& rPage, bool bSoleOwnerOfFillBitmapProps)
{
- return m_pUndoFactory->CreateUndoDeletePage( rPage );
+ return m_pUndoFactory->CreateUndoDeletePage(rPage, bSoleOwnerOfFillBitmapProps);
}
SdrUndoAction* OReportUndoFactory::CreateUndoNewPage(SdrPage& rPage)
diff --git a/sc/source/core/data/drwlayer.cxx b/sc/source/core/data/drwlayer.cxx
index 7ea6758..b2c7ab9 100644
--- a/sc/source/core/data/drwlayer.cxx
+++ b/sc/source/core/data/drwlayer.cxx
@@ -412,7 +412,7 @@ void ScDrawLayer::ScRemovePage( SCTAB nTab )
if (bRecording)
{
SdrPage* pPage = GetPage(static_cast<sal_uInt16>(nTab));
- AddCalcUndo(new SdrUndoDelPage(*pPage)); // Undo-Action becomes the page owner
+ AddCalcUndo(new SdrUndoDelPage(*pPage, true)); // Undo-Action becomes the page owner
RemovePage( static_cast<sal_uInt16>(nTab) ); // just deliver, not deleting
}
else
diff --git a/sd/source/core/drawdoc3.cxx b/sd/source/core/drawdoc3.cxx
index cf01895..d857b38 100644
--- a/sd/source/core/drawdoc3.cxx
+++ b/sd/source/core/drawdoc3.cxx
@@ -792,8 +792,17 @@ bool SdDrawDocument::InsertBookmarkAsPage(
aTest == aMPLayout &&
eKind == pTest->GetPageKind() )
{
- if( bUndo )
- AddUndo(GetSdrUndoFactory().CreateUndoDeletePage(*pRefPage));
+ if (bUndo)
+ {
+ bool bSoleOwnerOfStyleSheet = true;
+ if (pRefPage->IsMasterPage())
+ {
+ const SfxStyleSheet* pRefSheet = pRefPage->getSdrPageProperties().GetStyleSheet();
+ const SfxStyleSheet* pTestSheet = pTest->getSdrPageProperties().GetStyleSheet();
+ bSoleOwnerOfStyleSheet = pRefSheet != pTestSheet;
+ }
+ AddUndo(GetSdrUndoFactory().CreateUndoDeletePage(*pRefPage, bSoleOwnerOfStyleSheet));
+ }
RemoveMasterPage(nPage);
diff --git a/svx/source/svdraw/svdundo.cxx b/svx/source/svdraw/svdundo.cxx
index abc459f..ec5f2fe 100644
--- a/svx/source/svdraw/svdundo.cxx
+++ b/svx/source/svdraw/svdundo.cxx
@@ -1444,10 +1444,11 @@ SdrUndoPageList::~SdrUndoPageList()
}
-SdrUndoDelPage::SdrUndoDelPage(SdrPage& rNewPg)
+SdrUndoDelPage::SdrUndoDelPage(SdrPage& rNewPg, bool bSoleOwnerOfFillBitmapProps)
: SdrUndoPageList(rNewPg)
, pUndoGroup(nullptr)
, mbHasFillBitmap(false)
+ , mbSoleOwnerOfFillBitmapProps(bSoleOwnerOfFillBitmapProps)
{
bItsMine = true;
@@ -1557,12 +1558,15 @@ void SdrUndoDelPage::clearFillBitmap()
{
if (mrPage.IsMasterPage())
{
- SfxStyleSheet* const pStyleSheet = mrPage.getSdrPageProperties().GetStyleSheet();
- assert(bool(pStyleSheet)); // who took away my stylesheet?
- SfxItemSet& rItemSet = pStyleSheet->GetItemSet();
- rItemSet.ClearItem(XATTR_FILLBITMAP);
- if (mbHasFillBitmap)
- rItemSet.ClearItem(XATTR_FILLSTYLE);
+ if (mbSoleOwnerOfFillBitmapProps)
+ {
+ SfxStyleSheet* const pStyleSheet = mrPage.getSdrPageProperties().GetStyleSheet();
+ assert(bool(pStyleSheet)); // who took away my stylesheet?
+ SfxItemSet& rItemSet = pStyleSheet->GetItemSet();
+ rItemSet.ClearItem(XATTR_FILLBITMAP);
+ if (mbHasFillBitmap)
+ rItemSet.ClearItem(XATTR_FILLSTYLE);
+ }
}
else
{
@@ -1577,12 +1581,15 @@ void SdrUndoDelPage::restoreFillBitmap()
{
if (mrPage.IsMasterPage())
{
- SfxStyleSheet* const pStyleSheet = mrPage.getSdrPageProperties().GetStyleSheet();
- assert(bool(pStyleSheet)); // who took away my stylesheet?
- SfxItemSet& rItemSet = pStyleSheet->GetItemSet();
- rItemSet.Put(*mpFillBitmapItem);
- if (mbHasFillBitmap)
- rItemSet.Put(XFillStyleItem(css::drawing::FillStyle_BITMAP));
+ if (mbSoleOwnerOfFillBitmapProps)
+ {
+ SfxStyleSheet* const pStyleSheet = mrPage.getSdrPageProperties().GetStyleSheet();
+ assert(bool(pStyleSheet)); // who took away my stylesheet?
+ SfxItemSet& rItemSet = pStyleSheet->GetItemSet();
+ rItemSet.Put(*mpFillBitmapItem);
+ if (mbHasFillBitmap)
+ rItemSet.Put(XFillStyleItem(css::drawing::FillStyle_BITMAP));
+ }
}
else
{
@@ -1839,9 +1846,9 @@ SdrUndoAction* SdrUndoFactory::CreateUndoMoveLayer(sal_uInt16 nLayerNum, SdrLaye
}
// page
-SdrUndoAction* SdrUndoFactory::CreateUndoDeletePage(SdrPage& rPage)
+SdrUndoAction* SdrUndoFactory::CreateUndoDeletePage(SdrPage& rPage, bool bSoleOwnerOfFillBitmapProps)
{
- return new SdrUndoDelPage( rPage );
+ return new SdrUndoDelPage(rPage, bSoleOwnerOfFillBitmapProps);
}
SdrUndoAction* SdrUndoFactory::CreateUndoNewPage(SdrPage& rPage)
--
2.7.4

@ -1,27 +0,0 @@
From 90cdadc9497e12d2e0376a368c5bcf50e275bc57 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Mon, 25 Jul 2016 12:08:35 +0100
Subject: [PATCH] curl 7.50.0 has CURL as typedef struct Curl_easy
Change-Id: I22e5e2cdf78c38087579071c1b1570a8adc7d3c4
(cherry picked from commit 0b8e589875ffd84150470832de18ebd79989efc0)
---
ucb/source/ucp/ftp/ftploaderthread.cxx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ucb/source/ucp/ftp/ftploaderthread.cxx b/ucb/source/ucp/ftp/ftploaderthread.cxx
index 25bc26d..5d1cfb5 100644
--- a/ucb/source/ucp/ftp/ftploaderthread.cxx
+++ b/ucb/source/ucp/ftp/ftploaderthread.cxx
@@ -77,7 +77,7 @@ FTPLoaderThread::~FTPLoaderThread() {
CURL* FTPLoaderThread::handle() {
- CURL* ret = osl_getThreadKeyData(m_threadKey);
+ CURL* ret = static_cast<CURL*>(osl_getThreadKeyData(m_threadKey));
if(!ret) {
ret = curl_easy_init();
if (ret != nullptr) {
--
2.7.4

@ -1,102 +0,0 @@
From b0535f3944975c1f6cdadc149d70502843331f86 Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
Date: Mon, 11 Jul 2016 11:59:41 +0200
Subject: [PATCH] rhbz#1351292 correctly set edit mode
... when switching between different shells, e.g., from Outline to Slide
master.
Change-Id: I22ef6f6cac73c52fb1bedd97e653b4b57c5a7a24
---
sd/source/ui/framework/tools/FrameworkHelper.cxx | 57 +++++++++++++++++-------
1 file changed, 40 insertions(+), 17 deletions(-)
diff --git a/sd/source/ui/framework/tools/FrameworkHelper.cxx b/sd/source/ui/framework/tools/FrameworkHelper.cxx
index 6b08f37..15740f0 100644
--- a/sd/source/ui/framework/tools/FrameworkHelper.cxx
+++ b/sd/source/ui/framework/tools/FrameworkHelper.cxx
@@ -518,6 +518,41 @@ OUString FrameworkHelper::GetViewURL (ViewShell::ShellType eType)
}
}
+namespace
+{
+
+void updateEditMode(const Reference<XView> &xView, FrameworkHelper* const pHelper, const EditMode eEMode, bool updateFrameView)
+{
+ // Ensure we have the expected edit mode
+ // The check is only for DrawViewShell as OutlineViewShell
+ // and SlideSorterViewShell have no master mode
+ const ::std::shared_ptr<ViewShell> pCenterViewShell (pHelper->GetViewShell(xView));
+ DrawViewShell* pDrawViewShell
+ = dynamic_cast<DrawViewShell*>(pCenterViewShell.get());
+ if (pDrawViewShell != nullptr)
+ {
+ pCenterViewShell->Broadcast (
+ ViewShellHint(ViewShellHint::HINT_CHANGE_EDIT_MODE_START));
+
+ pDrawViewShell->ChangeEditMode(eEMode, pDrawViewShell->IsLayerModeActive());
+ if (updateFrameView)
+ pDrawViewShell->WriteFrameViewData();
+
+ pCenterViewShell->Broadcast (
+ ViewShellHint(ViewShellHint::HINT_CHANGE_EDIT_MODE_END));
+ }
+}
+
+void asyncUpdateEditMode(FrameworkHelper* const pHelper, const EditMode eEMode)
+{
+ Reference<XResourceId> xPaneId (
+ FrameworkHelper::CreateResourceId(framework::FrameworkHelper::msCenterPaneURL));
+ Reference<XView> xView (pHelper->GetView(xPaneId));
+ updateEditMode(xView, pHelper, eEMode, true);
+}
+
+}
+
void FrameworkHelper::HandleModeChangeSlot (
sal_uLong nSlotId,
SfxRequest& rRequest)
@@ -552,7 +587,6 @@ void FrameworkHelper::HandleModeChangeSlot (
Reference<XResourceId> xPaneId (
CreateResourceId(framework::FrameworkHelper::msCenterPaneURL));
Reference<XView> xView (GetView(xPaneId));
- ::std::shared_ptr<ViewShell> pCenterViewShell (GetViewShell(xView));
// Compute requested view
OUString sRequestedView;
@@ -595,26 +629,15 @@ void FrameworkHelper::HandleModeChangeSlot (
if (!(xView.is() && xView->getResourceId()->getResourceURL().equals(sRequestedView)))
{
+ const auto xId = CreateResourceId(sRequestedView, msCenterPaneURL);
mxConfigurationController->requestResourceActivation(
- CreateResourceId(sRequestedView, msCenterPaneURL),
+ xId,
ResourceActivationMode_REPLACE);
+ RunOnResourceActivation(xId, std::bind(&asyncUpdateEditMode, this, eEMode));
}
-
- // Ensure we have the expected edit mode
- // The check is only for DrawViewShell as OutlineViewShell
- // and SlideSorterViewShell have no master mode
- DrawViewShell* pDrawViewShell
- = dynamic_cast<DrawViewShell*>(pCenterViewShell.get());
- if (pDrawViewShell != nullptr)
+ else
{
- pCenterViewShell->Broadcast (
- ViewShellHint(ViewShellHint::HINT_CHANGE_EDIT_MODE_START));
-
- pDrawViewShell->ChangeEditMode (
- eEMode, pDrawViewShell->IsLayerModeActive());
-
- pCenterViewShell->Broadcast (
- ViewShellHint(ViewShellHint::HINT_CHANGE_EDIT_MODE_END));
+ updateEditMode(xView, this, eEMode, false);
}
}
catch (RuntimeException&)
--
2.7.4

@ -1,5 +1,5 @@
# download path contains version without the last (fourth) digit
%define libo_version 5.2.0
%define libo_version 5.2.1
# Should contain .alphaX / .betaX, if this is pre-release (actually
# pre-RC) version. The pre-release string is part of tarball file names,
# so we need a way to define it easily at one place.
@ -54,7 +54,7 @@
Summary: Free Software Productivity Suite
Name: libreoffice
Epoch: 1
Version: %{libo_version}.4
Version: %{libo_version}.1
Release: 1%{?libo_prerelease}%{?dist}
License: (MPLv1.1 or LGPLv3+) and LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and Public Domain and ASL 2.0 and Artistic and MPLv2.0 and CC0
URL: http://www.libreoffice.org/
@ -236,14 +236,10 @@ Patch6: 0001-add-X-TryExec-entries-to-desktop-files.patch
Patch7: 0001-Resolves-rhbz-1326304-cannot-detect-loss-of-wayland-.patch
Patch8: 0001-don-t-autocapitalize-words-that-follow-a-field-mark.patch
Patch9: 0001-a11y-crash-on-deleting-certain-frame-in-certain-docu.patch
Patch10: 0001-Resolves-rhbz-1353069-don-t-clear-XATTR_FILL-from-st.patch
Patch11: 0001-Resolves-rhbz-1351224-wayland-grab-related-crashes.patch
Patch12: 0001-Resolves-rhbz-1352965-gtk3-infinite-clipboard-recurs.patch
Patch13: 0001-rhbz-1351292-correctly-set-edit-mode.patch
Patch14: 0001-Related-rhbz-1351369-gtk3-clipboards-have-to-live-to.patch
Patch15: 0001-Related-rhbz-1065807-recover-using-xdg-templates-and.patch
Patch16: 0001-curl-7.50.0-has-CURL-as-typedef-struct-Curl_easy.patch
Patch17: 0001-gtk3-style-combobox-never-becomes-sensitive-if-it-st.patch
Patch10: 0001-Resolves-rhbz-1351224-wayland-grab-related-crashes.patch
Patch11: 0001-Resolves-rhbz-1352965-gtk3-infinite-clipboard-recurs.patch
Patch12: 0001-Related-rhbz-1351369-gtk3-clipboards-have-to-live-to.patch
Patch13: 0001-gtk3-style-combobox-never-becomes-sensitive-if-it-st.patch
%if 0%{?rhel}
# not upstreamed
@ -2246,6 +2242,9 @@ done
%endif
%changelog
* Thu Aug 11 2016 David Tardon <dtardon@redhat.com> - 1:5.2.1.1-1
- update to 5.2.1 rc1
* Fri Jul 29 2016 David Tardon <dtardon@redhat.com> - 1:5.2.0.4-1
- update to 5.2.0 rc4

@ -7,6 +7,6 @@ a7983f859eafb2677d7ff386a023bc40 a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.
12fb8b5b0d5132726e57b9b9fc7e22c4 libreoffice-multiliblauncher.sh
4b87018f7fff1d054939d19920b751a0 4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2
ce12af00283eb90d9281956524250d6e ce12af00283eb90d9281956524250d6e-xmlsec1-1.2.20.tar.gz
40ee24812d171238981599843ca9f5b6 libreoffice-5.2.0.4.tar.xz
c3f98b287d1464b4b7b410833a2d79a9 libreoffice-help-5.2.0.4.tar.xz
584877f514a723403c0344cc84a0bc59 libreoffice-translations-5.2.0.4.tar.xz
c33cbd9d1f8e1c932366673e454831a4 libreoffice-5.2.1.1.tar.xz
315f02cda87533c8127a54da838838db libreoffice-help-5.2.1.1.tar.xz
310ee75c851f9737dfd807eef0946009 libreoffice-translations-5.2.1.1.tar.xz

Loading…
Cancel
Save