summaryrefslogtreecommitdiffstats
path: root/include/vcl/svapp.hxx
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2016-11-23 17:01:46 +0100
committerTomaž Vajngerl <quikee@gmail.com>2016-11-24 12:35:29 +0000
commitbdd108cd72e630189c360c5327c480c1d64d55b1 (patch)
tree684f28bab926bcaf8dd748a8708d88323f13e031 /include/vcl/svapp.hxx
parentcoverity#1371267 Missing move assignment operator (diff)
downloadcore-bdd108cd72e630189c360c5327c480c1d64d55b1.tar.gz
core-bdd108cd72e630189c360c5327c480c1d64d55b1.zip
tdf#103852 avoid clipboard deadlock
Deallocate the XTransferable object async using AsyncCallback (that uses Application::PostUserEvent) which executes the callback in a thread-safe way on the main thread. This avoids a deadlock at deallocation so that the XTransferable. Modify AsyncCallback to not hold the SolarMutexGuard because Application::PostUserEvent is considered thread-safe. Document Application::PostUserEvent thread-safety Change-Id: I4237a1cf380e8be66b3eefc393a58bb4853bf4e1 Reviewed-on: https://gerrit.libreoffice.org/31126 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'include/vcl/svapp.hxx')
-rw-r--r--include/vcl/svapp.hxx4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/vcl/svapp.hxx b/include/vcl/svapp.hxx
index 271922495770..9b930b3127d9 100644
--- a/include/vcl/svapp.hxx
+++ b/include/vcl/svapp.hxx
@@ -776,9 +776,13 @@ public:
User events allow for the deferreal of work to later in the main-loop - at idle.
+ Execution of the deferred work is thread-safe which means all the tasks are executed
+ serially, so no thread-safety locks between tasks are necessary.
+
@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.
+ Taking the reference is guarded by a SolarMutexGuard.
@return the event ID used to post the event.
*/