diff --git a/src/data_transfer.cpp b/src/data_transfer.cpp index 7e1b9d530b77e82f4aa105d832b55769b4b79f1d..61289b77d9d39b3e2e5ed9dd3284af037628b7ce 100644 --- a/src/data_transfer.cpp +++ b/src/data_transfer.cpp @@ -139,8 +139,6 @@ FileTransfer::FileTransfer(DRing::DataTransferId tid, const DRing::DataTransferI input_.seekg(0, std::ios_base::end); info_.totalSize = input_.tellg(); input_.seekg(0, std::ios_base::beg); - - emit(DRing::DataTransferEventCode::created); } bool @@ -236,8 +234,6 @@ IncomingFileTransfer::IncomingFileTransfer(DRing::DataTransferId tid, info_ = info; info_.isOutgoing = false; - - emit(DRing::DataTransferEventCode::created); } std::streamsize @@ -355,8 +351,11 @@ DataTransferFacade::Impl::createFileTransfer(const DRing::DataTransferInfo& info { auto tid = generateUID(); auto transfer = std::make_shared<FileTransfer>(tid, info); - std::lock_guard<std::mutex> lk {mapMutex_}; - map_.emplace(tid, transfer); + { + std::lock_guard<std::mutex> lk {mapMutex_}; + map_.emplace(tid, transfer); + } + transfer->emit(DRing::DataTransferEventCode::created); return transfer; } @@ -365,8 +364,11 @@ DataTransferFacade::Impl::createIncomingFileTransfer(const DRing::DataTransferIn { auto tid = generateUID(); auto transfer = std::make_shared<IncomingFileTransfer>(tid, info); - std::lock_guard<std::mutex> lk {mapMutex_}; - map_.emplace(tid, transfer); + { + std::lock_guard<std::mutex> lk {mapMutex_}; + map_.emplace(tid, transfer); + } + transfer->emit(DRing::DataTransferEventCode::created); return transfer; }