summaryrefslogtreecommitdiff
path: root/include/vcl
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2015-05-07 22:08:21 +0100
committerMichael Meeks <michael.meeks@collabora.com>2015-05-08 17:37:41 +0100
commita738606d48d6678aaabf68a6ba748f79d5c6b9b8 (patch)
tree38f8184d4691c43e3a9e4beb7a1989ec1e7c1b4d /include/vcl
parent5c430093a301b31174a81ad4437f0361c86cfe3c (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.hxx4
-rw-r--r--include/vcl/window.hxx2
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();