summaryrefslogtreecommitdiff
path: root/include/svtools
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/svtools
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/svtools')
-rw-r--r--include/svtools/asynclink.hxx3
-rw-r--r--include/svtools/editbrowsebox.hxx2
-rw-r--r--include/svtools/ruler.hxx2
3 files changed, 4 insertions, 3 deletions
diff --git a/include/svtools/asynclink.hxx b/include/svtools/asynclink.hxx
index 55a156e37014..e303bbe75e0a 100644
--- a/include/svtools/asynclink.hxx
+++ b/include/svtools/asynclink.hxx
@@ -26,13 +26,14 @@
#include <osl/mutex.hxx>
class Timer;
+struct ImplSVEvent;
namespace svtools {
class SVT_DLLPUBLIC AsynchronLink
{
Link _aLink;
- sal_uLong _nEventId;
+ ImplSVEvent * _nEventId;
Timer* _pTimer;
bool _bInCall;
bool* _pDeleted;
diff --git a/include/svtools/editbrowsebox.hxx b/include/svtools/editbrowsebox.hxx
index b5157e9fd6be..ff8d73219d87 100644
--- a/include/svtools/editbrowsebox.hxx
+++ b/include/svtools/editbrowsebox.hxx
@@ -471,7 +471,7 @@ namespace svt
CellControllerRef aController,
aOldController;
- sal_uLong nStartEvent, nEndEvent, nCellModifiedEvent; // event ids
+ ImplSVEvent * nStartEvent, * nEndEvent, * nCellModifiedEvent; // event ids
Window* m_pFocusWhileRequest;
// In ActivateCell, we grab the focus asynchronously, but if between requesting activation
// and the asynchornous event the focus has changed, we won't grab it for ourself.
diff --git a/include/svtools/ruler.hxx b/include/svtools/ruler.hxx
index d162639627d0..b645c45b9261 100644
--- a/include/svtools/ruler.hxx
+++ b/include/svtools/ruler.hxx
@@ -623,7 +623,7 @@ private:
long mnBorderWidth;
long mnStartDragPos;
long mnDragPos;
- sal_uLong mnUpdateEvtId;
+ ImplSVEvent * mnUpdateEvtId;
ImplRulerData* mpSaveData;
ImplRulerData* mpData;
ImplRulerData* mpDragData;