diff options
| author | Tobias Markmann <tm@ayena.de> | 2012-04-18 17:04:10 (GMT) | 
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2012-04-21 12:16:32 (GMT) | 
| commit | 5e89f6fe59216586ee06a3e544b195ac4038bb06 (patch) | |
| tree | 75cb53e71015b1fe8293030e6422f9a4fae9f511 | |
| parent | ab8d948710dae16449cbe25fe6f7c95bfa5cf773 (diff) | |
| download | swift-5e89f6fe59216586ee06a3e544b195ac4038bb06.zip swift-5e89f6fe59216586ee06a3e544b195ac4038bb06.tar.bz2 | |
Fix bug crashing Swift when sending non-existent file.
License: This patch is BSD-licensed, see http://www.opensource.org/licenses/bsd-license.php
| -rw-r--r-- | Swift/Controllers/FileTransfer/FileTransferOverview.cpp | 11 | 
1 files changed, 7 insertions, 4 deletions
| diff --git a/Swift/Controllers/FileTransfer/FileTransferOverview.cpp b/Swift/Controllers/FileTransfer/FileTransferOverview.cpp index c3ffc5c..e45c7f2 100644 --- a/Swift/Controllers/FileTransfer/FileTransferOverview.cpp +++ b/Swift/Controllers/FileTransfer/FileTransferOverview.cpp @@ -7,6 +7,7 @@  #include "FileTransferOverview.h"  #include <boost/bind.hpp> +#include <boost/filesystem.hpp>  #include <Swiften/Base/boost_bsignals.h>  #include <Swiften/FileTransfer/FileTransferManager.h> @@ -22,10 +23,12 @@ FileTransferOverview::~FileTransferOverview() {  }  void FileTransferOverview::sendFile(const JID& jid, const std::string& filename) { -	FileTransferController* controller = new FileTransferController(jid, filename, fileTransferManager); -	fileTransfers.push_back(controller); -	 -	onNewFileTransferController(controller); +	if (boost::filesystem2::exists(filename) && boost::filesystem2::file_size(filename) > 0) { +		FileTransferController* controller = new FileTransferController(jid, filename, fileTransferManager); +		fileTransfers.push_back(controller); + +		onNewFileTransferController(controller); +	}  }  void FileTransferOverview::handleIncomingFileTransfer(IncomingFileTransfer::ref transfer) { | 
 Swift
 Swift