summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2014-05-06 16:33:55 +0200
committerStephan Bergmann <sbergman@redhat.com>2014-05-06 16:33:55 +0200
commitdb06595d13ab00c1c7584456b4bcd85797eadaa9 (patch)
tree67d2e86b570bbc01c7019fe39893fc2ffa2c5e5e /vcl
parent36e22e83a1ca3106d6ef3fbb6ba066a447a65601 (diff)
vcl::EventPoster shall probably be covered by SolarMutex
...as most parts of VCL. Ran across at least one case where a remote call to framework::CloseDispatcher::release -> ~CloseDispatcher -> ~EventPoster -> Application::RemoveUserEvent caused a crash. As always with SolarMutex, keep fingers crossed that this is about the right level to acquire it. Change-Id: I8f4be7329adbf72355774fa5d3c472270da3ddd2
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/helper/evntpost.cxx6
1 files changed, 6 insertions, 0 deletions
diff --git a/vcl/source/helper/evntpost.cxx b/vcl/source/helper/evntpost.cxx
index 6c551e1adc24..28ede4a926d6 100644
--- a/vcl/source/helper/evntpost.cxx
+++ b/vcl/source/helper/evntpost.cxx
@@ -17,6 +17,9 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+#include <sal/config.h>
+
+#include <tools/debug.hxx>
#include <vcl/evntpost.hxx>
#include <vcl/svapp.hxx>
@@ -31,6 +34,7 @@ EventPoster::EventPoster( const Link& rLink )
EventPoster::~EventPoster()
{
+ DBG_TESTSOLARMUTEX();
if ( m_nId )
GetpApp()->RemoveUserEvent( m_nId );
}
@@ -38,11 +42,13 @@ EventPoster::~EventPoster()
void EventPoster::Post( UserEvent* pEvent )
{
+ DBG_TESTSOLARMUTEX();
m_nId = GetpApp()->PostUserEvent( ( LINK( this, EventPoster, DoEvent_Impl ) ), pEvent );
}
IMPL_LINK( EventPoster, DoEvent_Impl, UserEvent*, pEvent )
{
+ DBG_TESTSOLARMUTEX();
m_nId = 0;
m_aLink.Call( pEvent );
return 0;