diff options
author | Slawomir Bochenski <lkslawek@gmail.com> | 2011-10-07 11:11:10 +0200 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@intel.com> | 2011-10-11 15:55:03 +0300 |
commit | 38475ba497a4f8eb3f7c34074a231e62a23c1e28 (patch) | |
tree | 01c72bc1e6b7a22c33a78afce8eceaf56cd587a2 | |
parent | e049dcca3d38a8c9e087092dfbfedbbb5504e598 (diff) | |
download | obexd-38475ba497a4f8eb3f7c34074a231e62a23c1e28.tar.gz |
Fix OPP not sending TransferCompleted signal
Commit 934b3b2f5f8432b67822be9f83a141fe3783cbd7 introduced a regression
in OPP, by making it not send TransferCompleted signal. This happened
because OPP was calling manager_emit_transfer_completed() on .reset(),
and manager_emit_transfer_completed() in turn checks if the os->object
is not NULL. This fixes this by moving clearing os->object after doing
service driver .reset().
-rw-r--r-- | src/obex.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -288,8 +288,6 @@ static void os_reset_session(struct obex_session *os) if (os->object) { os->driver->set_io_watch(os->object, NULL, NULL); os->driver->close(os->object); - os->object = NULL; - os->obj = NULL; if (os->aborted && os->cmd == OBEX_CMD_PUT && os->path && os->driver->remove) os->driver->remove(os->path); @@ -315,6 +313,8 @@ static void os_reset_session(struct obex_session *os) os->path = NULL; } + os->object = NULL; + os->obj = NULL; os->driver = NULL; os->aborted = FALSE; os->pending = 0; |