mirror of
https://github.com/qTox/qTox.git
synced 2024-03-22 14:00:36 +08:00
multiple file sending race condition fix
This commit is contained in:
parent
7a6b349e17
commit
63992fc522
|
@ -39,6 +39,7 @@
|
|||
#include <QList>
|
||||
#include <QBuffer>
|
||||
#include <QMessageBox>
|
||||
#include <QMutexLocker>
|
||||
|
||||
const QString Core::CONFIG_FILE_NAME = "data";
|
||||
const QString Core::TOX_EXT = ".tox";
|
||||
|
@ -758,6 +759,8 @@ void Core::sendGroupMessage(int groupId, const QString& message)
|
|||
|
||||
void Core::sendFile(int32_t friendId, QString Filename, QString FilePath, long long filesize)
|
||||
{
|
||||
QMutexLocker mlocker(&fileSendMutex);
|
||||
|
||||
QByteArray fileName = Filename.toUtf8();
|
||||
int fileNum = tox_new_file_sender(tox, friendId, filesize, (uint8_t*)fileName.data(), fileName.size());
|
||||
if (fileNum == -1)
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
#include <cstdint>
|
||||
#include <QObject>
|
||||
#include <QMutex>
|
||||
|
||||
#include "corestructs.h"
|
||||
#include "coreav.h"
|
||||
|
@ -253,6 +254,7 @@ private:
|
|||
int dhtServerId;
|
||||
static QList<ToxFile> fileSendQueue, fileRecvQueue;
|
||||
static ToxCall calls[];
|
||||
QMutex fileSendMutex;
|
||||
|
||||
uint8_t* pwsaltedkeys[PasswordType::ptCounter]; // use the pw's hash as the "pw"
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user