summaryrefslogtreecommitdiffstats
path: root/forms/source/component/ListBox.cxx
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2012-02-23 10:37:09 +0100
committerStephan Bergmann <sbergman@redhat.com>2012-02-23 10:47:37 +0100
commit2eaa1422a032d6a7ffc72a2abeb3dd3e6248a263 (patch)
treea8a618394c09b21cd189a4f9f221557dc5fc628a /forms/source/component/ListBox.cxx
parentAdapted OfficeIPCThread to safer-to-use salhelper::Thread (diff)
downloadcore-2eaa1422a032d6a7ffc72a2abeb3dd3e6248a263.tar.gz
core-2eaa1422a032d6a7ffc72a2abeb3dd3e6248a263.zip
Adapted AsyncEventNotifier to safer-to-use salhelper::Thread
Diffstat (limited to 'forms/source/component/ListBox.cxx')
-rw-r--r--forms/source/component/ListBox.cxx11
1 files changed, 8 insertions, 3 deletions
diff --git a/forms/source/component/ListBox.cxx b/forms/source/component/ListBox.cxx
index eb8c6c9b037b..5dbf8a857f56 100644
--- a/forms/source/component/ListBox.cxx
+++ b/forms/source/component/ListBox.cxx
@@ -1528,7 +1528,6 @@ namespace frm
:OBoundControl( _rxFactory, VCL_CONTROL_LISTBOX, sal_False )
,m_aChangeListeners( m_aMutex )
,m_aItemListeners( m_aMutex )
- ,m_pItemBroadcaster( NULL )
{
DBG_CTOR(OListBoxControl,NULL);
@@ -1614,8 +1613,9 @@ namespace frm
{
if ( !m_pItemBroadcaster.is() )
{
- m_pItemBroadcaster.set( new ::comphelper::AsyncEventNotifier );
- m_pItemBroadcaster->create();
+ m_pItemBroadcaster.set(
+ new ::comphelper::AsyncEventNotifier("ListBox"));
+ m_pItemBroadcaster->launch();
}
m_pItemBroadcaster->addEvent( new ItemEventDescription( _rEvent ), this );
}
@@ -1701,15 +1701,20 @@ namespace frm
m_aChangeListeners.disposeAndClear( aEvent );
m_aItemListeners.disposeAndClear( aEvent );
+ rtl::Reference< comphelper::AsyncEventNotifier > t;
{
::osl::MutexGuard aGuard( m_aMutex );
if ( m_pItemBroadcaster.is() )
{
+ t = m_pItemBroadcaster;
m_pItemBroadcaster->removeEventsForProcessor( this );
m_pItemBroadcaster->terminate();
m_pItemBroadcaster = NULL;
}
}
+ if (t.is()) {
+ t->join();
+ }
OBoundControl::disposing();
}