mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-05 01:23:24 -08:00
[Format] Small fixup (#7768)
Some checks are pending
CodeQL / Analyze (cpp) (push) Waiting to run
CodeQL / Analyze (actions) (push) Waiting to run
Build Desktop / Configure (push) Waiting to run
Build Desktop / vcpkg baseline (push) Waiting to run
Build Desktop / Debian 13 (push) Blocked by required conditions
Build Desktop / Debian 12 (push) Blocked by required conditions
Build Desktop / Fedora 44 (push) Blocked by required conditions
Build Desktop / Fedora 43 (push) Blocked by required conditions
Build Desktop / Servatrice_Debian 12 (push) Blocked by required conditions
Build Desktop / Ubuntu 24.04 (push) Blocked by required conditions
Build Desktop / Ubuntu 26.04 (push) Blocked by required conditions
Build Desktop / Arch (push) Blocked by required conditions
Build Desktop / Ubuntu 26.04 cover (push) Blocked by required conditions
Build Desktop / macOS 13 Intel (push) Blocked by required conditions
Build Desktop / macOS 14 (push) Blocked by required conditions
Build Desktop / macOS 15 (push) Blocked by required conditions
Build Desktop / macOS 26 Debug (push) Blocked by required conditions
Build Desktop / Windows 10 (push) Blocked by required conditions
Build Desktop / Prune caches (push) Waiting to run
Build Docker / Servatrice (arm) (push) Waiting to run
Build Docker / Servatrice (x86) (push) Waiting to run
Build Docker / Publish multi-platform Servatrice image (push) Blocked by required conditions
Some checks are pending
CodeQL / Analyze (cpp) (push) Waiting to run
CodeQL / Analyze (actions) (push) Waiting to run
Build Desktop / Configure (push) Waiting to run
Build Desktop / vcpkg baseline (push) Waiting to run
Build Desktop / Debian 13 (push) Blocked by required conditions
Build Desktop / Debian 12 (push) Blocked by required conditions
Build Desktop / Fedora 44 (push) Blocked by required conditions
Build Desktop / Fedora 43 (push) Blocked by required conditions
Build Desktop / Servatrice_Debian 12 (push) Blocked by required conditions
Build Desktop / Ubuntu 24.04 (push) Blocked by required conditions
Build Desktop / Ubuntu 26.04 (push) Blocked by required conditions
Build Desktop / Arch (push) Blocked by required conditions
Build Desktop / Ubuntu 26.04 cover (push) Blocked by required conditions
Build Desktop / macOS 13 Intel (push) Blocked by required conditions
Build Desktop / macOS 14 (push) Blocked by required conditions
Build Desktop / macOS 15 (push) Blocked by required conditions
Build Desktop / macOS 26 Debug (push) Blocked by required conditions
Build Desktop / Windows 10 (push) Blocked by required conditions
Build Desktop / Prune caches (push) Waiting to run
Build Docker / Servatrice (arm) (push) Waiting to run
Build Docker / Servatrice (x86) (push) Waiting to run
Build Docker / Publish multi-platform Servatrice image (push) Blocked by required conditions
* [Format] Small fixup. * [CardDB] Stop leaking the loader's mutexes. Both mutexes were heap-allocated through default member initializers and never freed, so every CardDatabase destruction leaked 16 bytes. LeakSanitizer flags this while discovering tests that create the database in main. Hold them by value instead, as the loader is a QObject and therefore neither copyable nor movable. --------- Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
parent
9588e1960d
commit
c72192fd81
3 changed files with 6 additions and 6 deletions
|
|
@ -83,7 +83,7 @@ LoadStatus CardDatabaseLoader::loadCardDatabase(const QString &path, CardDatabas
|
||||||
auto startTime = QTime::currentTime();
|
auto startTime = QTime::currentTime();
|
||||||
LoadStatus tempLoadStatus = NotLoaded;
|
LoadStatus tempLoadStatus = NotLoaded;
|
||||||
if (!path.isEmpty()) {
|
if (!path.isEmpty()) {
|
||||||
QMutexLocker locker(loadFromFileMutex);
|
QMutexLocker locker(&loadFromFileMutex);
|
||||||
tempLoadStatus = loadFromFile(path, data);
|
tempLoadStatus = loadFromFile(path, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -102,7 +102,7 @@ LoadStatus CardDatabaseLoader::loadCardDatabases(bool ignoreCache)
|
||||||
|
|
||||||
LoadStatus CardDatabaseLoader::doLoadCardDatabases(bool ignoreCache)
|
LoadStatus CardDatabaseLoader::doLoadCardDatabases(bool ignoreCache)
|
||||||
{
|
{
|
||||||
QMutexLocker locker(reloadDatabaseMutex);
|
QMutexLocker locker(&reloadDatabaseMutex);
|
||||||
|
|
||||||
if (!database) {
|
if (!database) {
|
||||||
qCWarning(CardDatabaseLoadingLog) << "Loader has no database pointer";
|
qCWarning(CardDatabaseLoadingLog) << "Loader has no database pointer";
|
||||||
|
|
|
||||||
|
|
@ -177,8 +177,8 @@ private:
|
||||||
ICardSetPriorityController *priorityController; /**< Controller for reconstructing set state. */
|
ICardSetPriorityController *priorityController; /**< Controller for reconstructing set state. */
|
||||||
QList<ICardDatabaseParser *> availableParsers; /**< List of available parsers for different formats. */
|
QList<ICardDatabaseParser *> availableParsers; /**< List of available parsers for different formats. */
|
||||||
|
|
||||||
QBasicMutex *loadFromFileMutex = new QBasicMutex(); /**< Mutex for single-file loading. */
|
QBasicMutex loadFromFileMutex; /**< Mutex for single-file loading. */
|
||||||
QBasicMutex *reloadDatabaseMutex = new QBasicMutex(); /**< Mutex for reloading entire database. */
|
QBasicMutex reloadDatabaseMutex; /**< Mutex for reloading entire database. */
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // COCKATRICE_CARD_DATABASE_LOADER_H
|
#endif // COCKATRICE_CARD_DATABASE_LOADER_H
|
||||||
|
|
|
||||||
|
|
@ -173,8 +173,8 @@ void RemoteClient::processServerIdentificationEvent(const Event_ServerIdentifica
|
||||||
// Quote the server-supplied strings in the log and limit their size.
|
// Quote the server-supplied strings in the log and limit their size.
|
||||||
const QString serverName = QString::fromStdString(event.server_name()).left(256);
|
const QString serverName = QString::fromStdString(event.server_name()).left(256);
|
||||||
const QString serverVersion = QString::fromStdString(event.server_version()).left(256);
|
const QString serverVersion = QString::fromStdString(event.server_version()).left(256);
|
||||||
qCInfo(RemoteClientLog) << "Server identification:" << serverName
|
qCInfo(RemoteClientLog) << "Server identification:" << serverName << "version" << serverVersion
|
||||||
<< "version" << serverVersion << "protocol version" << event.protocol_version();
|
<< "protocol version" << event.protocol_version();
|
||||||
if (event.protocol_version() != protocolVersion) {
|
if (event.protocol_version() != protocolVersion) {
|
||||||
emit protocolVersionMismatch(protocolVersion, event.protocol_version());
|
emit protocolVersionMismatch(protocolVersion, event.protocol_version());
|
||||||
setStatus(StatusDisconnecting);
|
setStatus(StatusDisconnecting);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue