summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.co.uk>2013-12-04 14:09:18 -0500
committerXavier Claessens <xavier.claessens@collabora.co.uk>2014-01-03 10:37:58 -0500
commit4480d2b9f5bb72c8acf0e9f712c6f8346a174f91 (patch)
tree7b6adcbb0800a18f6e29c5bffa5b4604fef377ef /examples
parent441fed1e0828b8fc6b94bd5f66c7cb222d09ef20 (diff)
downloadtelepathy-glib-4480d2b9f5bb72c8acf0e9f712c6f8346a174f91.tar.gz
TpFileTransferChannel: Fix possible crashes.
tp_file_transfer_channel_accept_file_async() and tp_file_transfer_channel_provide_file_async() operations are supposed to complete as soon as the CM returns from AcceptFile or ProvideFile. That means that we cannot call operation_failed() for streaming errors. We also have to keep a ref on self while streaming the file to avoid a crash in the callback when we dereference self. This means that the client app cannot cancel the ongoing streaming by unreffing the channel, replying on dispose calling g_cancellable_cancel(). It can still be doing using g_object_run_dispose() though. To make it cleaner we should probably add tp_file_transfer_channel_cancel(). The spec does not provide any way for the streaming client to inform the CM and other clients about the error occured while streaming. TpFileTransferChannel API does not even have a way to propagate that error to the user.
Diffstat (limited to 'examples')
0 files changed, 0 insertions, 0 deletions