dbaccess/source/ui/browser/genericcontroller.cxx |    6 +++---
 include/dbaccess/genericcontroller.hxx           |    2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

New commits:
commit c036347589da379f4256627df4fe7f62a2715a59
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Mon Dec 20 14:06:15 2021 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Mon Dec 20 21:58:07 2021 +0100

    tdf#146333 don't create a new XTitle just to remove a listener from it
    
    seeing as the listener obviously won't be in it
    
    Change-Id: If9944c003fa51309288276f1327011dc7403b31b
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127171
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/dbaccess/source/ui/browser/genericcontroller.cxx 
b/dbaccess/source/ui/browser/genericcontroller.cxx
index e317c2a3beeb..05aabe1855fa 100644
--- a/dbaccess/source/ui/browser/genericcontroller.cxx
+++ b/dbaccess/source/ui/browser/genericcontroller.cxx
@@ -1050,12 +1050,12 @@ Reference< awt::XWindow> 
OGenericUnoController::getTopMostContainerWindow() cons
     return xWindow;
 }
 
-Reference< XTitle > OGenericUnoController::impl_getTitleHelper_throw()
+Reference< XTitle > OGenericUnoController::impl_getTitleHelper_throw(bool 
bCreateIfNecessary)
 {
     SolarMutexGuard aSolarGuard;
     ::osl::MutexGuard aGuard( getMutex() );
 
-    if ( ! m_xTitleHelper.is ())
+    if (!m_xTitleHelper.is() && bCreateIfNecessary)
     {
         Reference< XUntitledNumbers > xUntitledProvider(getPrivateModel(), 
UNO_QUERY      );
 
@@ -1093,7 +1093,7 @@ void SAL_CALL 
OGenericUnoController::addTitleChangeListener(const Reference< XTi
 
 void SAL_CALL OGenericUnoController::removeTitleChangeListener(const 
Reference< XTitleChangeListener >& xListener)
 {
-    Reference< XTitleChangeBroadcaster > 
xBroadcaster(impl_getTitleHelper_throw(), UNO_QUERY);
+    Reference< XTitleChangeBroadcaster > 
xBroadcaster(impl_getTitleHelper_throw(false), UNO_QUERY);
     if (xBroadcaster.is ())
         xBroadcaster->removeTitleChangeListener (xListener);
 }
diff --git a/include/dbaccess/genericcontroller.hxx 
b/include/dbaccess/genericcontroller.hxx
index 24847b953c7d..7ce10174e3d1 100644
--- a/include/dbaccess/genericcontroller.hxx
+++ b/include/dbaccess/genericcontroller.hxx
@@ -351,7 +351,7 @@ namespace dbaui
 
         virtual OUString getPrivateTitle() const { return OUString(); }
 
-        css::uno::Reference< css::frame::XTitle > impl_getTitleHelper_throw();
+        css::uno::Reference< css::frame::XTitle > 
impl_getTitleHelper_throw(bool bCreateIfNecessary = true);
         virtual css::uno::Reference< css::frame::XModel > getPrivateModel() 
const
         {
             return css::uno::Reference< css::frame::XModel >();

Reply via email to