compilerplugins/clang/fieldcast.results          |    3 ---
 framework/inc/services/layoutmanager.hxx         |    3 ++-
 framework/source/layoutmanager/layoutmanager.cxx |   14 +++++---------
 3 files changed, 7 insertions(+), 13 deletions(-)

New commits:
commit baafd5aca2fd8cbc9d1d5ae8d0b4b8c8a6b68812
Author:     Noel Grandin <noelgran...@gmail.com>
AuthorDate: Wed Nov 22 22:07:01 2023 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Thu Nov 23 08:14:10 2023 +0100

    loplugin:fieldcast in LayoutManager
    
    Change-Id: I3fc7a2c690344ee6934111cdffc0b23ff2537b44
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159841
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/compilerplugins/clang/fieldcast.results 
b/compilerplugins/clang/fieldcast.results
index aa36df627b34..c794886ec751 100644
--- a/compilerplugins/clang/fieldcast.results
+++ b/compilerplugins/clang/fieldcast.results
@@ -88,9 +88,6 @@ editeng/source/editeng/impedit.hxx:506
 extensions/source/update/check/updatecheck.hxx:164
     UpdateCheck m_pThread WorkerThread *
     (anonymous namespace)::UpdateCheckThread
-framework/inc/services/layoutmanager.hxx:256
-    framework::LayoutManager m_xProgressBarBackup 
css::uno::Reference<css::ui::XUIElement>
-    framework::ProgressBarWrapper
 framework/inc/uielement/uielement.hxx:89
     framework::UIElement m_xUIElement css::uno::Reference<css::ui::XUIElement>
     framework::AddonsToolBarWrapper
diff --git a/framework/inc/services/layoutmanager.hxx 
b/framework/inc/services/layoutmanager.hxx
index 6675737d4b15..f2f32a53a12f 100644
--- a/framework/inc/services/layoutmanager.hxx
+++ b/framework/inc/services/layoutmanager.hxx
@@ -46,6 +46,7 @@ class MenuBar;
 namespace framework
 {
     class MenuBarWrapper;
+    class ProgressBarWrapper;
     class ToolbarLayoutManager;
     class GlobalSettings;
     namespace detail
@@ -254,7 +255,7 @@ namespace framework
             rtl::Reference< MenuBarWrapper >                               
m_xMenuBar;
             UIElement                                                      
m_aStatusBarElement;
             UIElement                                                      
m_aProgressBarElement;
-            css::uno::Reference< css::ui::XUIElement >                     
m_xProgressBarBackup;
+            rtl::Reference< ProgressBarWrapper >                           
m_xProgressBarBackup;
             css::uno::Reference< css::frame::XModuleManager2 >             
m_xModuleManager;
             css::uno::Reference< css::ui::XUIElementFactoryManager >       
m_xUIElementFactoryManager;
             css::uno::Reference< css::container::XNameAccess >             
m_xPersistentWindowState;
diff --git a/framework/source/layoutmanager/layoutmanager.cxx 
b/framework/source/layoutmanager/layoutmanager.cxx
index 3b5a0af3017c..b915e3f82a26 100644
--- a/framework/source/layoutmanager/layoutmanager.cxx
+++ b/framework/source/layoutmanager/layoutmanager.cxx
@@ -868,7 +868,7 @@ void LayoutManager::implts_createProgressBar()
 {
     Reference< XUIElement > xStatusBar;
     Reference< XUIElement > xProgressBar;
-    Reference< XUIElement > xProgressBarBackup;
+    rtl::Reference< ProgressBarWrapper > xProgressBarBackup;
     Reference< awt::XWindow > xContainerWindow;
 
     SolarMutexResettableGuard aWriteLock;
@@ -879,10 +879,10 @@ void LayoutManager::implts_createProgressBar()
     xContainerWindow = m_xContainerWindow;
     aWriteLock.clear();
 
-    bool                bRecycled = xProgressBarBackup.is();
+    bool bRecycled = xProgressBarBackup.is();
     rtl::Reference<ProgressBarWrapper> pWrapper;
     if ( bRecycled )
-        pWrapper = static_cast<ProgressBarWrapper*>(xProgressBarBackup.get());
+        pWrapper = xProgressBarBackup.get();
     else if ( xProgressBar.is() )
         pWrapper = static_cast<ProgressBarWrapper*>(xProgressBar.get());
     else
@@ -931,17 +931,13 @@ void LayoutManager::implts_backupProgressBarWrapper()
     // safe a backup copy of the current progress!
     // This copy will be used automatically inside createProgressBar() which 
is called
     // implicitly from implts_doLayout() .-)
-    m_xProgressBarBackup = m_aProgressBarElement.m_xUIElement;
+    m_xProgressBarBackup = 
static_cast<ProgressBarWrapper*>(m_aProgressBarElement.m_xUIElement.get());
 
     // remove the relation between this old progress bar and our old status 
bar.
     // Otherwise we work on disposed items ...
     // The internal used ProgressBarWrapper can handle a NULL reference.
     if ( m_xProgressBarBackup.is() )
-    {
-        ProgressBarWrapper* pWrapper = 
static_cast<ProgressBarWrapper*>(m_xProgressBarBackup.get());
-        if ( pWrapper )
-            pWrapper->setStatusBar( Reference< awt::XWindow >() );
-    }
+        m_xProgressBarBackup->setStatusBar( Reference< awt::XWindow >() );
 
     // prevent us from dispose() the m_aProgressBarElement.m_xUIElement inside 
implts_reset()
     m_aProgressBarElement.m_xUIElement.clear();

Reply via email to