Related: rhbz#1032774 disable autoexit when switching monitors

f41
Caolán McNamara 11 years ago
parent cbd193417a
commit 1aa6be9f1b

@ -0,0 +1,108 @@
From c7d2d4953e4d9825157f09345ed45b8730522f36 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Fri, 25 Apr 2014 19:27:57 +0100
Subject: [PATCH] Related: rhbz#1032774 slide restarter should disable
auto-exit
The scenario is a pps that exits the app when the presentation
is complete. But using "switch screens" in the presenter
console will stop and restart the presentation. So protect
that "stop" against existing by disabling the autoexit
and restoring it afterwards
(cherry picked from commit b7197cfe5d207b171412760c6d72353f31947e93)
Conflicts:
sd/source/ui/slideshow/slideshow.cxx
Change-Id: Id986ad7e3cfafb8068540fb90d05443f329b554c
---
sd/source/ui/inc/slideshow.hxx | 5 ++++-
sd/source/ui/slideshow/SlideShowRestarter.cxx | 3 +++
sd/source/ui/slideshow/slideshow.cxx | 20 +++++++++++++++-----
3 files changed, 22 insertions(+), 6 deletions(-)
diff --git a/sd/source/ui/inc/slideshow.hxx b/sd/source/ui/inc/slideshow.hxx
index 6573b2b..f6567e1 100644
--- a/sd/source/ui/inc/slideshow.hxx
+++ b/sd/source/ui/inc/slideshow.hxx
@@ -178,6 +178,9 @@ public:
static sal_Int32 GetDisplay();
+ bool IsExitAfterPresenting() const;
+ void SetExitAfterPresenting(bool bExit);
+
private:
SlideShow( SdDrawDocument* pDoc );
@@ -187,7 +190,7 @@ private:
void StartInPlacePresentation();
void StartFullscreenPresentation();
- void ThrowIfDisposed() throw (::com::sun::star::uno::RuntimeException);
+ void ThrowIfDisposed() const throw (css::uno::RuntimeException);
void CreateController( ViewShell* pViewSh, ::sd::View* pView, ::Window* pParentWindow );
WorkWindow *GetWorkWindow();
diff --git a/sd/source/ui/slideshow/SlideShowRestarter.cxx b/sd/source/ui/slideshow/SlideShowRestarter.cxx
index 822e8be..63fae11 100644
--- a/sd/source/ui/slideshow/SlideShowRestarter.cxx
+++ b/sd/source/ui/slideshow/SlideShowRestarter.cxx
@@ -83,7 +83,10 @@ IMPL_LINK_NOARG(SlideShowRestarter, EndPresentation)
{
if (mnDisplayCount != (sal_Int32)Application::GetScreenCount())
{
+ bool bIsExitAfterPresenting = mpSlideShow->IsExitAfterPresenting();
+ mpSlideShow->SetExitAfterPresenting(false);
mpSlideShow->end();
+ mpSlideShow->SetExitAfterPresenting(bIsExitAfterPresenting);
// The following piece of code should not be here because the
// slide show should be aware of the existence of the presenter
diff --git a/sd/source/ui/slideshow/slideshow.cxx b/sd/source/ui/slideshow/slideshow.cxx
index 2bab38d..20a210b 100644
--- a/sd/source/ui/slideshow/slideshow.cxx
+++ b/sd/source/ui/slideshow/slideshow.cxx
@@ -146,16 +146,12 @@ SlideShow::SlideShow( SdDrawDocument* pDoc )
{
}
-// --------------------------------------------------------------------
-
-void SlideShow::ThrowIfDisposed() throw (RuntimeException)
+void SlideShow::ThrowIfDisposed() const throw (RuntimeException)
{
if( mpDoc == 0 )
throw DisposedException();
}
-// --------------------------------------------------------------------
-
/// used by the model to create a slideshow for it
rtl::Reference< SlideShow > SlideShow::Create( SdDrawDocument* pDoc )
{
@@ -678,6 +674,20 @@ WorkWindow *SlideShow::GetWorkWindow()
return dynamic_cast<WorkWindow*>(pShell->GetViewFrame()->GetTopFrame().GetWindow().GetParent());
}
+bool SlideShow::IsExitAfterPresenting() const
+{
+ SolarMutexGuard aGuard;
+ ThrowIfDisposed();
+ return mpDoc->IsExitAfterPresenting();
+}
+
+void SlideShow::SetExitAfterPresenting(bool bExit)
+{
+ SolarMutexGuard aGuard;
+ ThrowIfDisposed();
+ mpDoc->SetExitAfterPresenting(bExit);
+}
+
void SAL_CALL SlideShow::end() throw(RuntimeException)
{
SolarMutexGuard aGuard;
--
1.9.0

@ -43,7 +43,7 @@ Summary: Free Software Productivity Suite
Name: libreoffice
Epoch: 1
Version: %{libo_version}.1
Release: 6%{?libo_prerelease}%{?dist}
Release: 7%{?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
Group: Applications/Productivity
URL: http://www.libreoffice.org/default/
@ -305,6 +305,7 @@ Patch38: 0001-Resolves-fdo-37130-use-10pt-Default-style-font-for-c.patch
Patch39: 0001-Related-fdo-36815-center-scaled-comment-page-vertica.patch
Patch40: 0001-crash-in-selecting-text-in-comments-midway-in-para.patch
Patch41: 0001-Resolves-fdo-60040-crash-after-undoing-master-page-a.patch
Patch42: 0001-Related-rhbz-1032774-slide-restarter-should-disable-.patch
%define instdir %{_libdir}
%define baseinstdir %{instdir}/libreoffice
@ -2296,6 +2297,9 @@ update-desktop-database %{_datadir}/applications &> /dev/null || :
%endif
%changelog
* Fri Apr 25 2014 Caolán McNamara <caolanm@redhat.com> - 1:4.2.4.1-7
- Related: rhbz#1032774 disable autoexit when switching monitors
* Thu Apr 24 2014 Caolán McNamara <caolanm@redhat.com> - 1:4.2.4.1-6
- Resolves: fdo#37130 use 10pt Default style font for comments
- Resolves: fdo#60040 crash after undoing master page

Loading…
Cancel
Save