Some parts of the internal file transfer task API can be invoked in the coroutine context, so in these cases use g_coroutine_signal_emit and g_coroutine_object_notify. Signed-off-by: Jakub Janků <jjanku@xxxxxxxxxx> --- src/spice-file-transfer-task.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/spice-file-transfer-task.c b/src/spice-file-transfer-task.c index d0170da..90f31db 100644 --- a/src/spice-file-transfer-task.c +++ b/src/spice-file-transfer-task.c @@ -327,7 +327,7 @@ void spice_file_transfer_task_completed(SpiceFileTransferTask *self, self); self->pending = TRUE; signal: - g_signal_emit(self, task_signals[SIGNAL_FINISHED], 0, self->error); + g_coroutine_signal_emit(self, task_signals[SIGNAL_FINISHED], 0, self->error); /* SpiceFileTransferTask unref is done after input stream is closed */ } @@ -433,8 +433,8 @@ void spice_file_transfer_task_read_async(SpiceFileTransferTask *self, /* Notify the progress prior the read to make the info be related to the * data that was already sent. To notify the 100% (completed), channel-main * should call read-async when it expects EOF. */ - g_object_notify(G_OBJECT(self), "progress"); - g_object_notify(G_OBJECT(self), "transferred-bytes"); + g_coroutine_object_notify(G_OBJECT(self), "progress"); + g_coroutine_object_notify(G_OBJECT(self), "transferred-bytes"); task = g_task_new(self, self->cancellable, callback, userdata); -- 2.21.0 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel