[Libreoffice-commits] core.git: sfx2/source

Szymon Kłos eszkadev at gmail.com
Thu Oct 6 21:13:29 UTC 2016


 sfx2/source/notebookbar/SfxNotebookBar.cxx |   16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

New commits:
commit 2796291bd84eeb71115f3d9fb3b8aec67c4f4214
Author: Szymon Kłos <eszkadev at gmail.com>
Date:   Thu Oct 6 21:17:42 2016 +0200

    tdf#102776 : fixed Notebookbar hiding
    
    Change-Id: I86cdf2aa9fd5167073da215f5baf50bb4f64f4dd
    Reviewed-on: https://gerrit.libreoffice.org/29579
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Szymon Kłos <eszkadev at gmail.com>

diff --git a/sfx2/source/notebookbar/SfxNotebookBar.cxx b/sfx2/source/notebookbar/SfxNotebookBar.cxx
index 282a168..182b70a 100644
--- a/sfx2/source/notebookbar/SfxNotebookBar.cxx
+++ b/sfx2/source/notebookbar/SfxNotebookBar.cxx
@@ -258,8 +258,9 @@ bool SfxNotebookBar::StateMethod(SystemWindow* pSysWindow,
         OUString sFile = lcl_getNotebookbarFileName( eApp );
         OUString sNewFile = rUIFile + sFile;
         OUString sCurrentFile;
-        if ( pSysWindow->GetNotebookBar() )
-            sCurrentFile = OStringToOUString( pSysWindow->GetNotebookBar()->getUIFile(), RTL_TEXTENCODING_ASCII_US );
+        NotebookBar* pNotebookBar = pSysWindow->GetNotebookBar();
+        if ( pNotebookBar )
+            sCurrentFile = OStringToOUString( pNotebookBar->getUIFile(), RTL_TEXTENCODING_ASCII_US );
 
         bool bChangedFile = true;
         if ( sCurrentFile.getLength() && sNewFile.getLength() )
@@ -272,7 +273,7 @@ bool SfxNotebookBar::StateMethod(SystemWindow* pSysWindow,
             bChangedFile = ( sNewFile.compareTo( sCurrentFile ) != 0 );
         }
 
-        if ( ( !sFile.isEmpty() && bChangedFile ) || !pSysWindow->GetNotebookBar()->IsVisible() )
+        if ( ( !sFile.isEmpty() && bChangedFile ) || !pNotebookBar || !pNotebookBar->IsVisible() )
         {
             RemoveListeners(pSysWindow);
 
@@ -281,8 +282,10 @@ bool SfxNotebookBar::StateMethod(SystemWindow* pSysWindow,
 
             // setup if necessary
             pSysWindow->SetNotebookBar(aBuf.makeStringAndClear(), xFrame);
-            pSysWindow->GetNotebookBar()->Show();
-            pSysWindow->GetNotebookBar()->SetIconClickHdl(LINK(nullptr, SfxNotebookBar, OpenNotebookbarPopupMenu));
+            pNotebookBar = pSysWindow->GetNotebookBar();
+            pNotebookBar->Show();
+            pNotebookBar->GetParent()->Resize();
+            pNotebookBar->SetIconClickHdl( LINK( nullptr, SfxNotebookBar, OpenNotebookbarPopupMenu ) );
 
             utl::OConfigurationTreeRoot aRoot;
             const utl::OConfigurationNode aModeNode( lcl_getCurrentImplConfigNode( xFrame, aRoot ) );
@@ -299,7 +302,7 @@ bool SfxNotebookBar::StateMethod(SystemWindow* pSysWindow,
                 if(xFrame.is() && xMultiplexer.is())
                 {
                     xMultiplexer->addContextChangeEventListener(
-                                        pSysWindow->GetNotebookBar()->getContextChangeEventListener(),
+                                        pNotebookBar->getContextChangeEventListener(),
                                         xFrame->getController());
                 }
             }
@@ -310,6 +313,7 @@ bool SfxNotebookBar::StateMethod(SystemWindow* pSysWindow,
     else if (auto pNotebookBar = pSysWindow->GetNotebookBar())
     {
         pNotebookBar->Hide();
+        pNotebookBar->GetParent()->Resize();
         SfxNotebookBar::ShowMenubar(true);
     }
 


More information about the Libreoffice-commits mailing list