diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2015-05-07 22:08:21 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2015-05-08 17:37:41 +0100 |
commit | a738606d48d6678aaabf68a6ba748f79d5c6b9b8 (patch) | |
tree | 38f8184d4691c43e3a9e4beb7a1989ec1e7c1b4d /include/vcl | |
parent | 5c430093a301b31174a81ad4437f0361c86cfe3c (diff) |
PostUserEvent - instrument to allow holding a VclPtr reference.
This helps avoid things dying during emission in a robust manner.
Bit of an unpleasant 3rd optional parameter; better names appreciated.
Change-Id: I27571823f9d96caef1d07602785a02390d3a3591
Diffstat (limited to 'include/vcl')
-rw-r--r-- | include/vcl/svapp.hxx | 4 | ||||
-rw-r--r-- | include/vcl/window.hxx | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/include/vcl/svapp.hxx b/include/vcl/svapp.hxx index a576a2c479b8..78f758c6058f 100644 --- a/include/vcl/svapp.hxx +++ b/include/vcl/svapp.hxx @@ -865,10 +865,12 @@ public: @param rLink Link to event callback function @param pCaller Pointer to data sent to the event by the caller. Optional. + @param bReferenceLink If true - hold a VclPtr<> reference on the Link's instance. @return the event ID used to post the event. */ - static ImplSVEvent * PostUserEvent( const Link<>& rLink, void* pCaller = NULL ); + static ImplSVEvent * PostUserEvent( const Link<>& rLink, void* pCaller = NULL, + bool bReferenceLink = false ); /** Remove user event based on event ID diff --git a/include/vcl/window.hxx b/include/vcl/window.hxx index 3209906ff085..9c2526db8220 100644 --- a/include/vcl/window.hxx +++ b/include/vcl/window.hxx @@ -728,7 +728,7 @@ public: void AddChildEventListener( const Link<>& rEventListener ); void RemoveChildEventListener( const Link<>& rEventListener ); - ImplSVEvent * PostUserEvent( const Link<>& rLink, void* pCaller = NULL ); + ImplSVEvent * PostUserEvent( const Link<>& rLink, void* pCaller = NULL, bool bReferenceLink = false ); void RemoveUserEvent( ImplSVEvent * nUserEvent ); void IncrementLockCount(); |