summaryrefslogtreecommitdiff
path: root/include/vcl/evntpost.hxx
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2014-05-07 11:49:46 +0200
committerStephan Bergmann <sbergman@redhat.com>2014-05-07 11:49:46 +0200
commit93f5d5a9190e0e03bf4822663652a4b068c44f75 (patch)
tree9ac61601b056acad6a6c83d728c684661d3f3271 /include/vcl/evntpost.hxx
parentc6fdd34c16f415629222348631141c3e13af6d4a (diff)
The opaque PostUserEvent IDs are actually pointers
...so declare them as such. This avoids the recurring mistake of storing such IDs as sal_uInt32, truncating in 64 bit environments, causing RemoveUserEvent to potentially not remove the event, it thus firing "too late" and probably causing a crash. While at it, consolidate the trivially unnecessary overloads of both Application::PostUserEvent and Window::PostUserEvent. And in each of them, it looks like deleting the mpLink member was missing from the failure branch. Change-Id: Iab13afbb06e12ac15dec6a6b5b85a7e402a3c654
Diffstat (limited to 'include/vcl/evntpost.hxx')
-rw-r--r--include/vcl/evntpost.hxx4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/vcl/evntpost.hxx b/include/vcl/evntpost.hxx
index 3b502a4a9be7..59898236c391 100644
--- a/include/vcl/evntpost.hxx
+++ b/include/vcl/evntpost.hxx
@@ -22,7 +22,7 @@
#include <tools/link.hxx>
#include <vcl/dllapi.h>
-
+struct ImplSVEvent;
namespace vcl
{
@@ -34,7 +34,7 @@ namespace vcl
class VCL_DLLPUBLIC EventPoster
{
- sal_uLong m_nId;
+ ImplSVEvent * m_nId;
Link m_aLink;
DECL_DLLPRIVATE_LINK( DoEvent_Impl, UserEvent* );