remove "object is disposed" warning in OBroadcastHelperVar::removeListener
doesn't add anything of value. Change-Id: Ie2dea7c43570640284771c992d0072ab61de425e Reviewed-on: https://gerrit.libreoffice.org/25871 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
This commit is contained in:
committed by
Noel Grandin
parent
7fb70ff650
commit
80c874dc87
@@ -284,7 +284,10 @@ void WeakAggComponentImplHelperBase::removeEventListener(
|
||||
Reference< lang::XEventListener > const & xListener )
|
||||
throw (RuntimeException, std::exception)
|
||||
{
|
||||
rBHelper.removeListener( cppu::UnoType<decltype(xListener)>::get(), xListener );
|
||||
// if we have disposed, then we have cleared the list already
|
||||
MutexGuard aGuard( rBHelper.rMutex );
|
||||
if (!rBHelper.bDisposed)
|
||||
rBHelper.removeListener( cppu::UnoType<decltype(xListener)>::get(), xListener );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -77,6 +77,7 @@ void OApplicationIconControl::dispose()
|
||||
pEntry->SetUserData(nullptr);
|
||||
}
|
||||
}
|
||||
DropTargetHelper::dispose();
|
||||
SvtIconChoiceCtrl::dispose();
|
||||
}
|
||||
|
||||
|
||||
@@ -562,6 +562,17 @@ SbaGridHeader::SbaGridHeader(BrowseBox* pParent, WinBits nWinBits)
|
||||
{
|
||||
}
|
||||
|
||||
SbaGridHeader::~SbaGridHeader()
|
||||
{
|
||||
disposeOnce();
|
||||
}
|
||||
|
||||
void SbaGridHeader::dispose()
|
||||
{
|
||||
DragSourceHelper::dispose();
|
||||
FmGridHeader::dispose();
|
||||
}
|
||||
|
||||
void SbaGridHeader::StartDrag( sal_Int8 _nAction, const Point& _rPosPixel )
|
||||
{
|
||||
SolarMutexGuard aGuard;
|
||||
|
||||
@@ -170,7 +170,8 @@ namespace dbaui
|
||||
{
|
||||
public:
|
||||
SbaGridHeader(BrowseBox* pParent, WinBits nWinBits = WB_STDHEADERBAR | WB_DRAG);
|
||||
|
||||
virtual void dispose() override;
|
||||
virtual ~SbaGridHeader();
|
||||
protected:
|
||||
|
||||
// FmGridHeader overridables
|
||||
|
||||
@@ -476,7 +476,6 @@ struct OBroadcastHelperVar
|
||||
const css::uno::Reference < css::uno::XInterface > & r )
|
||||
{
|
||||
::osl::MutexGuard guard( rMutex );
|
||||
OSL_ENSURE( !bDisposed, "object is disposed" );
|
||||
if( ! bInDispose && ! bDisposed )
|
||||
aLC.removeInterface( key , r );
|
||||
}
|
||||
|
||||
@@ -395,8 +395,9 @@ private:
|
||||
friend class DragSourceHelper::DragGestureListener;
|
||||
|
||||
private:
|
||||
|
||||
osl::Mutex maMutex;
|
||||
css::uno::Reference< css::datatransfer::dnd::XDragGestureRecognizer > mxDragGestureRecognizer;
|
||||
|
||||
css::uno::Reference< css::datatransfer::dnd::XDragGestureListener > mxDragGestureListener;
|
||||
|
||||
DragSourceHelper& operator=( const DragSourceHelper& rDragSourceHelper ) = delete;
|
||||
@@ -408,6 +409,7 @@ public:
|
||||
virtual void StartDrag( sal_Int8 nAction, const Point& rPosPixel );
|
||||
|
||||
DragSourceHelper( vcl::Window* pWindow );
|
||||
void dispose();
|
||||
virtual ~DragSourceHelper();
|
||||
};
|
||||
|
||||
@@ -444,8 +446,9 @@ private:
|
||||
friend class DropTargetHelper::DropTargetListener;
|
||||
|
||||
private:
|
||||
|
||||
osl::Mutex maMutex;
|
||||
css::uno::Reference< css::datatransfer::dnd::XDropTarget > mxDropTarget;
|
||||
|
||||
css::uno::Reference< css::datatransfer::dnd::XDropTargetListener > mxDropTargetListener;
|
||||
DataFlavorExVector* mpFormats;
|
||||
|
||||
@@ -468,6 +471,7 @@ public:
|
||||
DropTargetHelper( vcl::Window* pWindow );
|
||||
DropTargetHelper( const css::uno::Reference< css::datatransfer::dnd::XDropTarget >& rxDropTarget );
|
||||
|
||||
void dispose();
|
||||
virtual ~DropTargetHelper();
|
||||
|
||||
// typically called by the application in ::AcceptDrop and ::ExecuteDrop and (see above)
|
||||
|
||||
@@ -1440,6 +1440,7 @@ void ScTextWnd::dispose()
|
||||
delete pEditEngine;
|
||||
pEditEngine = nullptr;
|
||||
|
||||
DragSourceHelper::dispose();
|
||||
ScTextWndBase::dispose();
|
||||
}
|
||||
|
||||
|
||||
@@ -64,6 +64,7 @@ protected:
|
||||
|
||||
public:
|
||||
ScTabControl( vcl::Window* pParent, ScViewData* pData );
|
||||
virtual void dispose() override;
|
||||
virtual ~ScTabControl();
|
||||
|
||||
using TabBar::StartDrag;
|
||||
|
||||
@@ -111,6 +111,14 @@ IMPL_LINK_TYPED(ScTabControl, ShowPageList, const CommandEvent &, rEvent, void)
|
||||
|
||||
ScTabControl::~ScTabControl()
|
||||
{
|
||||
disposeOnce();
|
||||
}
|
||||
|
||||
void ScTabControl::dispose()
|
||||
{
|
||||
DragSourceHelper::dispose();
|
||||
DropTargetHelper::dispose();
|
||||
TabBar::dispose();
|
||||
}
|
||||
|
||||
sal_uInt16 ScTabControl::GetMaxId() const
|
||||
|
||||
@@ -57,6 +57,13 @@ LayerTabBar::LayerTabBar(DrawViewShell* pViewSh, vcl::Window* pParent)
|
||||
|
||||
LayerTabBar::~LayerTabBar()
|
||||
{
|
||||
disposeOnce();
|
||||
}
|
||||
|
||||
void LayerTabBar::dispose()
|
||||
{
|
||||
DropTargetHelper::dispose();
|
||||
TabBar::dispose();
|
||||
}
|
||||
|
||||
void LayerTabBar::Select()
|
||||
|
||||
@@ -38,6 +38,7 @@ public:
|
||||
LayerTabBar (
|
||||
DrawViewShell* pDrViewSh,
|
||||
vcl::Window* pParent);
|
||||
virtual void dispose() override;
|
||||
virtual ~LayerTabBar();
|
||||
|
||||
/** Inform all listeners of this control that the current layer has been
|
||||
|
||||
@@ -40,6 +40,7 @@ class TabControl
|
||||
sal_uInt16 RrePageID;
|
||||
public:
|
||||
TabControl (DrawViewShell* pDrViewSh, vcl::Window* pParent);
|
||||
virtual void dispose() override;
|
||||
virtual ~TabControl();
|
||||
|
||||
/** Inform all listeners of this control that the current page has been
|
||||
|
||||
@@ -200,6 +200,8 @@ void LayoutMenu::dispose()
|
||||
{
|
||||
SAL_INFO("sd.ui", "destroying LayoutMenu at " << this);
|
||||
Dispose();
|
||||
DragSourceHelper::dispose();
|
||||
DropTargetHelper::dispose();
|
||||
ValueSet::dispose();
|
||||
}
|
||||
|
||||
|
||||
@@ -102,6 +102,7 @@ void Window::dispose()
|
||||
pWindowUpdater->UnregisterWindow (this);
|
||||
}
|
||||
mpShareWin.clear();
|
||||
DropTargetHelper::dispose();
|
||||
vcl::Window::dispose();
|
||||
}
|
||||
|
||||
|
||||
@@ -78,6 +78,14 @@ TabControl::TabControl(DrawViewShell* pViewSh, vcl::Window* pParent) :
|
||||
|
||||
TabControl::~TabControl()
|
||||
{
|
||||
disposeOnce();
|
||||
}
|
||||
|
||||
void TabControl::dispose()
|
||||
{
|
||||
DragSourceHelper::dispose();
|
||||
DropTargetHelper::dispose();
|
||||
TabBar::dispose();
|
||||
}
|
||||
|
||||
void TabControl::Select()
|
||||
|
||||
@@ -149,6 +149,7 @@ void SmEditWindow::dispose()
|
||||
pVScrollBar.disposeAndClear();
|
||||
pScrollBox.disposeAndClear();
|
||||
|
||||
DropTargetHelper::dispose();
|
||||
vcl::Window::dispose();
|
||||
}
|
||||
|
||||
|
||||
@@ -162,6 +162,8 @@ void BrowseBox::dispose()
|
||||
delete pColSel;
|
||||
if ( bMultiSelection )
|
||||
delete uRow.pSel;
|
||||
DragSourceHelper::dispose();
|
||||
DropTargetHelper::dispose();
|
||||
Control::dispose();
|
||||
}
|
||||
|
||||
|
||||
@@ -229,6 +229,8 @@ void BrowserDataWin::dispose()
|
||||
pHeaderBar.clear();
|
||||
pEventWin.clear();
|
||||
pCornerWin.clear();
|
||||
DragSourceHelper::dispose();
|
||||
DropTargetHelper::dispose();
|
||||
Control::dispose();
|
||||
}
|
||||
|
||||
|
||||
@@ -1481,6 +1481,8 @@ void SvTreeListBox::dispose()
|
||||
mpImpl.reset();
|
||||
}
|
||||
|
||||
DropTargetHelper::dispose();
|
||||
DragSourceHelper::dispose();
|
||||
Control::dispose();
|
||||
}
|
||||
|
||||
|
||||
@@ -78,10 +78,21 @@ DragSourceHelper::DragSourceHelper( vcl::Window* pWindow ) :
|
||||
}
|
||||
|
||||
|
||||
void DragSourceHelper::dispose()
|
||||
{
|
||||
Reference<XDragGestureRecognizer> xTmp;
|
||||
{
|
||||
osl::MutexGuard aGuard( maMutex );
|
||||
xTmp = mxDragGestureRecognizer;
|
||||
mxDragGestureRecognizer.clear();
|
||||
}
|
||||
if( xTmp.is() )
|
||||
xTmp->removeDragGestureListener( mxDragGestureListener );
|
||||
}
|
||||
|
||||
DragSourceHelper::~DragSourceHelper()
|
||||
{
|
||||
if( mxDragGestureRecognizer.is() )
|
||||
mxDragGestureRecognizer->removeDragGestureListener( mxDragGestureListener );
|
||||
dispose();
|
||||
}
|
||||
|
||||
|
||||
@@ -240,11 +251,21 @@ DropTargetHelper::DropTargetHelper( const Reference< XDropTarget >& rxDropTarget
|
||||
}
|
||||
|
||||
|
||||
void DropTargetHelper::dispose()
|
||||
{
|
||||
Reference< XDropTarget > xTmp;
|
||||
{
|
||||
osl::MutexGuard aGuard( maMutex );
|
||||
xTmp = mxDropTarget;
|
||||
mxDropTarget.clear();
|
||||
}
|
||||
if( xTmp.is() )
|
||||
xTmp->removeDropTargetListener( mxDropTargetListener );
|
||||
}
|
||||
|
||||
DropTargetHelper::~DropTargetHelper()
|
||||
{
|
||||
if( mxDropTarget.is() )
|
||||
mxDropTarget->removeDropTargetListener( mxDropTargetListener );
|
||||
|
||||
dispose();
|
||||
delete mpFormats;
|
||||
}
|
||||
|
||||
|
||||
@@ -142,6 +142,7 @@ void FmGridHeader::dispose()
|
||||
{
|
||||
delete m_pImpl;
|
||||
m_pImpl = nullptr;
|
||||
DropTargetHelper::dispose();
|
||||
svt::EditBrowserHeader::dispose();
|
||||
}
|
||||
|
||||
|
||||
@@ -5158,6 +5158,8 @@ void SwEditWin::dispose()
|
||||
delete m_pFrameControlsManager;
|
||||
m_pFrameControlsManager = nullptr;
|
||||
|
||||
DragSourceHelper::dispose();
|
||||
DropTargetHelper::dispose();
|
||||
vcl::Window::dispose();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user