remove ft timer on xfer destruction
This commit is contained in:
parent
e0d85521ed
commit
e995b26b81
1 changed files with 11 additions and 1 deletions
|
@ -1361,7 +1361,6 @@ static void XferDestroyed(PurpleXfer *xfer) {
|
|||
static void xferCanceled(PurpleXfer *xfer) {
|
||||
PurpleAccount *account = purple_xfer_get_account(xfer);
|
||||
std::string filename(xfer ? purple_xfer_get_filename(xfer) : "");
|
||||
purple_xfer_ref(xfer);
|
||||
std::string w = xfer->who;
|
||||
size_t pos = w.find("/");
|
||||
if (pos != std::string::npos)
|
||||
|
@ -1371,6 +1370,9 @@ static void xferCanceled(PurpleXfer *xfer) {
|
|||
|
||||
np->handleFTFinish(np->m_accounts[account], w, filename, purple_xfer_get_size(xfer), ftdata ? ftdata->id : 0);
|
||||
std::remove(np->m_waitingXfers.begin(), np->m_waitingXfers.end(), xfer);
|
||||
if (ftdata && ftdata->timer) {
|
||||
purple_timeout_remove(ftdata->timer);
|
||||
}
|
||||
purple_xfer_unref(xfer);
|
||||
}
|
||||
|
||||
|
@ -1410,6 +1412,10 @@ static void XferReceiveComplete(PurpleXfer *xfer) {
|
|||
// repeater->_tryToDeleteMe();
|
||||
// GlooxMessageHandler::instance()->ftManager->handleXferFileReceiveComplete(xfer);
|
||||
std::remove(np->m_waitingXfers.begin(), np->m_waitingXfers.end(), xfer);
|
||||
FTData *ftdata = (FTData *) xfer->ui_data;
|
||||
if (ftdata && ftdata->timer) {
|
||||
purple_timeout_remove(ftdata->timer);
|
||||
}
|
||||
purple_xfer_unref(xfer);
|
||||
}
|
||||
|
||||
|
@ -1417,6 +1423,10 @@ static void XferSendComplete(PurpleXfer *xfer) {
|
|||
// FiletransferRepeater *repeater = (FiletransferRepeater *) xfer->ui_data;
|
||||
// repeater->_tryToDeleteMe();
|
||||
std::remove(np->m_waitingXfers.begin(), np->m_waitingXfers.end(), xfer);
|
||||
FTData *ftdata = (FTData *) xfer->ui_data;
|
||||
if (ftdata && ftdata->timer) {
|
||||
purple_timeout_remove(ftdata->timer);
|
||||
}
|
||||
purple_xfer_unref(xfer);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue