Don't add Wzero-as-null-pointer-constant by default, since on older Qt
versions that we stil support and that our CI runs agains, Qt API themselves
cause warnings which lead to build errors all over the place.
Fix#6008
Enable warnings for both. Favour casting to signed rather than casting to
unsigend for comparisons. Per isocpp's core guidelines ES.102, signed
arithmetic gives more expected results. If we need one extra bit of range,
using longer signed types achives that.
Fix#6010Fix#6012
Alexander Ritter (1):
feat(l10n): update German translation from Weblate
Allan Nordhøy (2):
feat(l10n): update Norwegian Bokmål translation from Weblate
feat(l10n): update Norwegian Bokmål translation from Weblate
Andrey (1):
feat(l10n): update Russian translation from Weblate
Branko Kovačević (1):
feat(l10n): update Serbian (latin) translation from Weblate
Dan Baeza (4):
feat(l10n): update Portuguese (Brazil) translation from Weblate
feat(l10n): update Italian translation from Weblate
feat(l10n): update Spanish translation from Weblate
feat(l10n): update French translation from Weblate
Deleted User (1):
feat(l10n): update German translation from Weblate
Kristjan Räts (1):
feat(l10n): update Estonian translation from Weblate
Milo Ivir (1):
feat(l10n): update Croatian translation from Weblate
Moo (1):
feat(l10n): update Lithuanian translation from Weblate
Oguz Ersen (1):
feat(l10n): update Turkish translation from Weblate
Vladimir Studinsky (1):
feat(l10n): update German translation from Weblate
Xoronic (5):
feat(l10n): update Dutch translation from Weblate
feat(l10n): update Dutch translation from Weblate
feat(l10n): update Dutch translation from Weblate
feat(l10n): update Dutch translation from Weblate
feat(l10n): update Dutch translation from Weblate
Zarko Gjurov (1):
feat(l10n): update Macedonian translation from Weblate
anonymous (5):
feat(l10n): update Dutch translation from Weblate
feat(l10n): update Dutch translation from Weblate
feat(l10n): update Dutch translation from Weblate
feat(l10n): update Dutch translation from Weblate
feat(l10n): update Dutch translation from Weblate
kak mi (1):
feat(l10n): update Chinese (Simplified) translation from Weblate
zaefarani (1):
feat(l10n): update Persian translation from Weblate
Åke Engelbrektson (1):
feat(l10n): update Swedish translation from Weblate
This commit fixes the behavior when a message is received while the
chatlog is scrolled to the bottom. With this change, the chatlog will
stick to the bottom when it is scrolled all the way down. If it is
somewhere in the middle (e.g. for search) the chatlog will not change
its position.
In other applications chatrooms allow you to idle in a call and have
people hop in and out as desired. If a user is the only one presently
online in a group but knows someone will be joining shortly they should
be able to join the call ahead of time.
Qt doesn't support QObject multiple inheritance, so use our existing interface
macros to declare signals in the interface without QObject, and implement them
in child classes.
c-toxcore calls the groupCallCallback from it's main thread instead of
the ToxAV thread as expected, this was triggering an assertion.
Aditionally the destructors of Core and CoreAV were fixed, because they
now either crashed or deadlocked qTox when it was closed while a group
call was still running.
This actually fixes two problems:
1) CoreAV and Audio thread both locked the callsLock and audioLock in
different orders, resulting in a deadlock of both threads. This fixed by
using a ReadWriteLock in the CoreAV thread.
2) Multiple functions were emitting signals while holding a lock. This
is unsafe, because the connected slot may acquire any other lock. This
is fixed by releasing the locks before emitting signals.
It doesn't really make sense to assert that the callbacks are coming
from any other thread than CoreAV, when we actually want to ensure the
callback is coming from Core thread.
Remove over agressive assert from sendGroupCallAudio(...), this function
should be callable from any thread.
We we're calling toxav_* functions without synchronizing to any of the
Tox threads.
Additionally remove the call timeout, it creates timers from different
threads, which causes errors.