[Libreoffice-commits] core.git: vcl/unx

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Thu Jan 17 13:02:07 UTC 2019


 vcl/unx/gtk3/gtk3gtkframe.cxx |   35 ++++++++++++++++++-----------------
 1 file changed, 18 insertions(+), 17 deletions(-)

New commits:
commit 2f7e02e71939e79f07fd6cc9cbb697729e077bc0
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Jan 17 09:56:18 2019 +0000
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Thu Jan 17 14:01:49 2019 +0100

    Resolves: tdf#122334 decorator missing
    
    Revert "Resolves: tdf#119688 under X full-screen doesn't work before gtk_widget_show"
    
    This reverts commit 88fc17e473ce2d3e8a7eae4235446a75eb9e91a2.
    
    Change-Id: I5f2996c0d940eec459725cc91c5dee7fd7dee267
    Reviewed-on: https://gerrit.libreoffice.org/66502
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx
index 5e471212965c..091f4d2d3b3f 100644
--- a/vcl/unx/gtk3/gtk3gtkframe.cxx
+++ b/vcl/unx/gtk3/gtk3gtkframe.cxx
@@ -1935,23 +1935,6 @@ void GtkSalFrame::SetScreen( unsigned int nNewScreen, SetType eType, tools::Rect
     gdk_window_set_fullscreen_mode( widget_get_window(m_pWindow), m_bSpanMonitorsWhenFullscreen
         ? GDK_FULLSCREEN_ON_ALL_MONITORS : GDK_FULLSCREEN_ON_CURRENT_MONITOR );
 
-    if( eType == SetType::UnFullscreen &&
-        !(m_nStyle & SalFrameStyleFlags::SIZEABLE) )
-        gtk_window_set_resizable( GTK_WINDOW( m_pWindow ), FALSE );
-
-    // FIXME: we should really let gtk+ handle our widget hierarchy ...
-    if( m_pParent && gtk_widget_get_screen( m_pParent->m_pWindow ) != pScreen )
-        SetParent( nullptr );
-    std::list< GtkSalFrame* > aChildren = m_aChildren;
-    for (auto const& child : aChildren)
-        child->SetScreen( nNewScreen, SetType::RetainSize );
-
-    m_bDefaultPos = m_bDefaultSize = false;
-    updateScreenNumber();
-
-    if( bVisible )
-        Show( true );
-
     GtkWidget* pMenuBarContainerWidget = m_pSalMenu ? m_pSalMenu->GetMenuBarContainerWidget() : nullptr;
     if( eType == SetType::Fullscreen )
     {
@@ -1963,6 +1946,7 @@ void GtkSalFrame::SetScreen( unsigned int nNewScreen, SetType eType, tools::Rect
         {
             gtk_window_fullscreen_on_monitor(GTK_WINDOW(m_pWindow), pScreen, nMonitor);
         }
+
     }
     else if( eType == SetType::UnFullscreen )
     {
@@ -1970,6 +1954,23 @@ void GtkSalFrame::SetScreen( unsigned int nNewScreen, SetType eType, tools::Rect
             gtk_widget_show(pMenuBarContainerWidget);
         gtk_window_unfullscreen( GTK_WINDOW( m_pWindow ) );
     }
+
+    if( eType == SetType::UnFullscreen &&
+        !(m_nStyle & SalFrameStyleFlags::SIZEABLE) )
+        gtk_window_set_resizable( GTK_WINDOW( m_pWindow ), FALSE );
+
+    // FIXME: we should really let gtk+ handle our widget hierarchy ...
+    if( m_pParent && gtk_widget_get_screen( m_pParent->m_pWindow ) != pScreen )
+        SetParent( nullptr );
+    std::list< GtkSalFrame* > aChildren = m_aChildren;
+    for (auto const& child : aChildren)
+        child->SetScreen( nNewScreen, SetType::RetainSize );
+
+    m_bDefaultPos = m_bDefaultSize = false;
+    updateScreenNumber();
+
+    if( bVisible )
+        Show( true );
 }
 
 void GtkSalFrame::SetScreenNumber( unsigned int nNewScreen )


More information about the Libreoffice-commits mailing list