tdf#120791: restore window geometry coming back from fullscreen
Change-Id: I1492423fe6110bdc79aa68c715e968770f6767ab
Reviewed-on: https://gerrit.libreoffice.org/68672
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
diff --git a/vcl/inc/qt5/Qt5Frame.hxx b/vcl/inc/qt5/Qt5Frame.hxx
index ef290ce..396e612 100644
--- a/vcl/inc/qt5/Qt5Frame.hxx
+++ b/vcl/inc/qt5/Qt5Frame.hxx
@@ -81,6 +81,7 @@ class VCLPLUG_QT5_PUBLIC Qt5Frame : public QObject, public SalFrame
bool m_bDefaultSize;
bool m_bDefaultPos;
bool m_bFullScreen;
QRect m_aRestoreGeometry;
void Center();
Size CalcDefaultSize();
diff --git a/vcl/qt5/Qt5Frame.cxx b/vcl/qt5/Qt5Frame.cxx
index 958d925..81d47c9 100644
--- a/vcl/qt5/Qt5Frame.cxx
+++ b/vcl/qt5/Qt5Frame.cxx
@@ -612,9 +612,19 @@ void Qt5Frame::ShowFullScreen(bool bFullScreen, sal_Int32 nScreen)
if (!isWindow())
m_pTopLevel->show();
// do that before going fullscreen
SetScreenNumber(nScreen);
m_bFullScreen ? windowHandle()->showFullScreen() : windowHandle()->showNormal();
if (m_bFullScreen)
{
m_aRestoreGeometry = m_pTopLevel->geometry();
// do that before going fullscreen
SetScreenNumber(nScreen);
windowHandle()->showFullScreen();
}
else
{
windowHandle()->showNormal();
m_pTopLevel->setGeometry(m_aRestoreGeometry);
m_aRestoreGeometry = QRect();
}
}
void Qt5Frame::StartPresentation(bool)