1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00
qTox/src
Anthony Bilinski 0f5ba08fd2
fix(settings): Unlock Settings mutex before emitting setting changed signals
When a setting is set it locks the Settings mutex and emits a signal for that
setting. If a slot is connected to that signal and lives on the same thread as
Settings, it is executed immediately with the Settings mutex still locked. That
slot can then lock a series of other mutexes. During this time another thread
can lock a mutex and then try to read settings, which will cause a deadlock due
to the opposite order of multiple mutex locking. By always emitting signals
after unlocking the Settings mutex, we avoid holding the Settings mutex while
executing slots.

Fix #6218
2020-08-27 18:44:19 -07:00
..
chatlog refactor: remove getInstance from filetransferwidget.cpp 2020-08-16 12:47:30 +02:00
core refactor(core): finally remove Core::getInstance 2020-08-24 23:24:51 +02:00
model refactor(chatlog): remove getInstance from ChatlogItem 2020-08-24 23:24:24 +02:00
net refactor: connection to parent method in toxuri.cpp 2020-07-03 18:13:08 +03:00
persistence fix(settings): Unlock Settings mutex before emitting setting changed signals 2020-08-27 18:44:19 -07:00
platform Merge pull request #6073 2020-07-02 01:34:34 -07:00
video refactor(cmake): change folder structure 2020-05-11 16:45:52 +02:00
widget feat(ui): Make auto-accept size 0 wording less ambiguous 2020-08-26 03:42:21 -07:00
friendlist.cpp docs(copyright): update and add copyright info 2019-06-28 01:18:26 +02:00
friendlist.h refactor(style): use #pragma once rather than include guards 2020-05-03 15:51:52 -07:00
grouplist.cpp refactor: remove Core::getInstance from grouplist 2020-05-11 10:28:26 +02:00
grouplist.h refactor: remove Core::getInstance from grouplist 2020-05-11 10:28:26 +02:00
ipc.cpp fix(ipc): allow IPC under windows by not using std::random_device with mingw 2020-04-30 19:26:18 -07:00
ipc.h refactor(style): use #pragma once rather than include guards 2020-05-03 15:51:52 -07:00
loginscreen.ui refactor(nexus): make loginscreen independent of nexus 2018-02-01 22:00:06 +01:00
main.cpp refactor: move translations to their own module 2020-07-03 15:46:07 +02:00
mainwindow.ui fix(ui): show empty status as placeholder instead of as status 2019-05-07 14:34:08 -07:00
nexus.cpp refactor(cmake): change folder structure 2020-05-11 16:45:52 +02:00
nexus.h refactor(cmake): change folder structure 2020-05-11 16:45:52 +02:00