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>
(cherry picked from commit e8e274b50658e1f9c2f40ce05249f7c857aeba64)
Reviewed-on: https://gerrit.libreoffice.org/69510
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
diff --git a/vcl/inc/qt5/Qt5Frame.hxx b/vcl/inc/qt5/Qt5Frame.hxx
index 4a1dc67..239666c 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 57a2cb2..3172b76 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)