Diff between b5891ebfa01ab1867f9af9a9aae6f4d8a890198d and 8c5ca86e9a2d43d750fe44a50c20e97e27fa8ce3

Changed Files

File Additions Deletions Status
obexd/src/obex.c +10 -5 modified

Full Patch

diff --git a/obexd/src/obex.c b/obexd/src/obex.c
index 1b89385..3834e06 100644
--- a/obexd/src/obex.c
+++ b/obexd/src/obex.c
@@ -747,12 +747,17 @@ static void obex_handle_destroy(gpointer user_data)
 
 	os = OBEX_GetUserData(obex);
 
-	/* Got an error during a transfer. */
-	if (os->fd >= 0)
-		emit_transfer_completed(os->cid, os->offset == os->size);
+	if (os->target == NULL) {
+		/* Got an error during a transfer. */
+		if (os->fd >= 0)
+			emit_transfer_completed(os->cid,
+					os->offset == os->size);
 
-	/* FIXME: SessionRemoved/TransferCompleted signal? */
-	unregister_transfer(os->cid);
+		unregister_transfer(os->cid);
+	} else {
+		emit_session_removed(os->cid);
+		unregister_session(os->cid);
+	}
 
 	obex_session_free(os);