vcl/unx/gtk3/gtk3gtkframe.cxx | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-)
New commits: commit 2f7e02e71939e79f07fd6cc9cbb697729e077bc0 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Thu Jan 17 09:56:18 2019 +0000 Commit: Caolán McNamara <caol...@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 <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@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 ) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits