Summary: | crash when senting expired files. | ||
---|---|---|---|
Product: | [Applications] konversation | Reporter: | Filipe Azevedo <pasnox> |
Component: | dcc | Assignee: | Bernd Buschinski <b.buschinski> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | andresbajotierra, hein, konversation-devel, pasnox |
Priority: | NOR | ||
Version: | 1.2.3 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Attachments: | New crash information added by DrKonqi |
Description
Filipe Azevedo
2010-02-27 12:23:37 UTC
- If you can reproduce the crash at will (or you experience this regularly), can you install the "konversation-dbg" package and post a complete backtrace here? (you can get more information at http://techbase.kde.org/User:DarioAndres/Basic_Guide_about_Crash_Reporting ) Thanks Created attachment 41184 [details]
New crash information added by DrKonqi
Senting again files that have been cancelled/experied.
More than one file selected when right click / sent again was triggered
commit 0714f669109cf3402748bcb651860c913e222bb9 Author: Bernd Buschinski <b.buschinski@web.de> Date: Sun Feb 28 20:04:52 2010 +0100 - Fix crash when resend file action is used with more than one selected transfer. BUG:228849 diff --git a/src/dcc/transferpanel.cpp b/src/dcc/transferpanel.cpp index 68fe48b..fb7198c 100644 --- a/src/dcc/transferpanel.cpp +++ b/src/dcc/transferpanel.cpp @@ -248,6 +248,7 @@ namespace Konversation void TransferPanel::resendFile() { + QList<Transfer*> transferList; foreach (const QModelIndex &index, m_transferView->selectedRows()) { if (index.data(TransferListModel::TransferType).toInt() == Transfer::Send && @@ -258,18 +259,22 @@ namespace Konversation { continue; } + transferList.append(transfer); + } + } - TransferSend *newTransfer = Application::instance()->getDccTransferManager()->newUpload(); + foreach (Transfer* transfer, transferList) + { + TransferSend *newTransfer = Application::instance()->getDccTransferManager()->newUpload(); - newTransfer->setConnectionId(transfer->getConnectionId()); - newTransfer->setPartnerNick(transfer->getPartnerNick()); - newTransfer->setFileURL(transfer->getFileURL()); - newTransfer->setFileName(transfer->getFileName()); + newTransfer->setConnectionId(transfer->getConnectionId()); + newTransfer->setPartnerNick(transfer->getPartnerNick()); + newTransfer->setFileURL(transfer->getFileURL()); + newTransfer->setFileName(transfer->getFileName()); - if (newTransfer->queue()) - { - newTransfer->start(); - } + if (newTransfer->queue()) + { + newTransfer->start(); } } } |