summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2019-01-17 09:56:18 +0000
committerCaolán McNamara <caolanm@redhat.com>2019-01-17 14:01:49 +0100
commit2f7e02e71939e79f07fd6cc9cbb697729e077bc0 (patch)
tree47fdd7b19cd0fe21c925d02d178675cf36b140e6
parentf876fdd1c0ca11dc81832e05b7203987c0c80558 (diff)
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@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--vcl/unx/gtk3/gtk3gtkframe.cxx35
1 files changed, 18 insertions, 17 deletions
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 )