1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00
qTox/src/core
tux3 c75ee8a661
fix: Various IPC event handling and related bugs on startup
Fixes #1926 : When an IPC event was processed locally, if the window was closed before the core could start, the event handler would be forever stuck in the background waiting for the core to start. We fix this by substituting QApplication::quit() by a Nexus::quit() function and a Nexus::isRunning() function, which gives us a condition for exiting blocking processEvents() loops. We cannot simply use QApplication::quit(), because this function has no effect before the start of the event loop.

The problem was further exacerbated by the Tox URI event handler being (incorrectly) blocking. The IPC owner would block in this event handler, and the sender of the event would give up waiting and process the event itself a second time, potentially triggering the first bug. We fix the event handlers accordingly to be (mostly) non-blocking.

Also fixes a related deadlock between ~Core and ~Profile in the case of an early exit
2017-02-17 17:18:52 +01:00
..
core.cpp fix: Various IPC event handling and related bugs on startup 2017-02-17 17:18:52 +01:00
core.h refactor(encryption): move everything to ToxEncrypt 2017-02-07 20:05:32 +01:00
coreav.cpp fix(audio): alternate audio fix implementation from #4139 2017-02-07 15:44:35 -05:00
coreav.h fix(audio): alternate audio fix implementation from #4139 2017-02-07 15:44:35 -05:00
coredefines.h chore: explicitly mention that copyright belongs to qTox contributors 2016-11-29 11:12:06 +00:00
corefile.cpp feat(toxid): reduce passing Tox IDs around 2017-01-04 00:20:24 +01:00
corefile.h refactor(core): simplify code for tox interval during file transfer 2016-12-30 13:57:55 +00:00
corestructs.cpp revert: "refactor: Added to include path and exclude it from all includes" 2016-12-29 16:10:53 +00:00
corestructs.h feat(settings): add notification signals for changed settings values 2016-08-14 18:08:24 +02:00
cstring.cpp chore: explicitly mention that copyright belongs to qTox contributors 2016-11-29 11:12:06 +00:00
cstring.h chore: explicitly mention that copyright belongs to qTox contributors 2016-11-29 11:12:06 +00:00
indexedlist.h refactor(core): fix IndexedList comparison type casts from signed/unsigned 2016-08-01 21:24:53 +02:00
recursivesignalblocker.cpp chore: explicitly mention that copyright belongs to qTox contributors 2016-11-29 11:12:06 +00:00
recursivesignalblocker.h chore: explicitly mention that copyright belongs to qTox contributors 2016-11-29 11:12:06 +00:00
toxcall.cpp fix(audio): alternate audio fix implementation from #4139 2017-02-07 15:44:35 -05:00
toxcall.h fix(audio): alternate audio fix implementation from #4139 2017-02-07 15:44:35 -05:00
toxencrypt.cpp fix(toxencrypt): return the plaintext after decryption 2017-02-10 22:33:57 +01:00
toxencrypt.h feat(toxencrypt): add function to get min length for isEncrypted() to 2017-02-06 11:09:59 +01:00
toxid.cpp feat(toxid): reduce passing Tox IDs around 2017-01-04 00:20:24 +01:00
toxid.h feat(toxid): reduce passing Tox IDs around 2017-01-04 00:20:24 +01:00
toxpk.cpp feat(toxpk): Add 'ToxPk::getPkSize()' method 2017-02-07 20:10:44 +03:00
toxpk.h feat(toxpk): Add 'ToxPk::getPkSize()' method 2017-02-07 20:10:44 +03:00