diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2014-05-07 11:49:46 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2014-05-07 11:49:46 +0200 |
commit | 93f5d5a9190e0e03bf4822663652a4b068c44f75 (patch) | |
tree | 9ac61601b056acad6a6c83d728c684661d3f3271 /include/svtools | |
parent | c6fdd34c16f415629222348631141c3e13af6d4a (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.hxx | 3 | ||||
-rw-r--r-- | include/svtools/editbrowsebox.hxx | 2 | ||||
-rw-r--r-- | include/svtools/ruler.hxx | 2 |
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; |