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)