1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00
Commit Graph

7884 Commits

Author SHA1 Message Date
Brandon Mosher
1438f8f766 refactor: Provide a Virtual Method Anchor for Classes in Headers
Define at least one virtual method in polymorphic class cpp files to
improve link efficiency. Do so by defining a defaulted destructor or
another overridden virtual method in the class cpp file.
Also add explicitly defaulted copy/move constructors and assignment
operators to follow the rule of five and to avoid compiler suppression
of these functions due to the addition of a user-provided destructor.
Where neccessary, create new cpp files and add them to CMakeLists and
Testing.cmake. Set the -Wweak-vtables by default when compiling with
clang to issue warnings for new classes that do not comply with this
pattern.

See http://llvm.org/docs/CodingStandards.html#provide-a-virtual-method-anchor-for-classes-in-headers.

Fixes #6036.
2021-10-26 16:47:40 +00:00
Anthony Bilinski
a9b7a24fe4
Merge pull request #6402
Mick Sayson (1):
      fix(toxext): Update toxext to fix memory corruption issues
2021-10-26 02:02:19 -07:00
Mick Sayson
761c2fb292 fix(toxext): Update toxext to fix memory corruption issues
* tox_extension_messages updated as well for compatibility
2021-10-25 23:20:51 -07:00
Anthony Bilinski
8af9d0905f
Merge pull request #6361
woxcab (1):
      fix(ui): reorder the window title
2021-10-25 00:16:53 -07:00
woxcab
d621d74511
fix(ui): reorder the window title 2021-10-24 23:30:30 -07:00
Anthony Bilinski
26f021e8bd
Merge pull request #6388
bodwok (1):
      fix(ui): contact list optimization
2021-10-24 22:29:14 -07:00
Anthony Bilinski
bb67d48e6e
Merge pull request #6175
Mick Sayson (1):
      feat(chatlog): Add image preview on paste
2021-10-24 22:09:22 -07:00
Mick Sayson
7c218b389d
feat(chatlog): Add image preview on paste
Reuse code from the file transfer widget to provide an image preview
on paste/grab. This prevents users from accidentally sending images they
did not mean to when their clipboard is not in the state they thought it
was.

Implementation exposes the genericchatlog vbox to the child classes and
chatform injects the imagepreview into it.
2021-10-24 22:06:58 -07:00
Anthony Bilinski
8462207a58
Merge pull request #6387
Jimi Huotari (2):
      fix(build): don't connect UpdateCheck when -DUPDATE_CHECK=OFF
      fix(UI): hide update related elements when -DUPDATE_CHECK=OFF
2021-10-24 20:45:52 -07:00
Anthony Bilinski
552cb0dc74
Merge pull request #6391
Mick Sayson (1):
      fix(toxext): Protect use of toxext modifying functions
2021-10-24 19:45:09 -07:00
Anthony Bilinski
69cd33b733
fix(chatform): Scroll to bottom on load, broken on refactor
Fix #6314
2021-10-24 16:42:46 -07:00
Anthony Bilinski
057f921ace
fix(build): Add std threading support in Windows build
Use posix versions of mingw toolchains, which say:
> This package contains the C++ compiler, supporting cross-compiling to
64-bit MinGW-w64 targets, using the POSIX threading model.

Fix build failure saying that std::mutex was not declared
2021-10-24 15:55:52 -07:00
Anthony Bilinski
aee189d46d
fix(appimage): Handle no TRAVIS_TAG or TRAVIS_COMMIT in AppImage build
With set u, bash aborts when either is not defined. Also neither is set when
building locally.
2021-10-24 14:17:00 -07:00
Anthony Bilinski
9fa7f2e4b6
chore(CI): Split Win deps into their own job
Previously, the four matrix Windows jobs would run in parallel and each
build deps, which is redundant since both debug and release qTox use the
same deps.

Now, the win-deps job builds only the needed two versions of deps, and
the four windows builds wait for it to complete before running in
parallel.
2021-10-24 14:16:34 -07:00
Anthony Bilinski
ade6e38003
chore(CI): Run tests on pushed commits
So that each commit in repo is tested, including merge commits that
aren't present in PRs. Also prepares for running releases only on push
but not on PRs.

Workflows have a global runs-on, so commit format check needs to be
split out from the shared PR and push workflow to since checking all
commit messages on pushes always fails due to very old commits not
following the proper format.
2021-10-24 14:16:11 -07:00
Anthony Bilinski
d7347773f8
chore: Disable bootstrap daemon for toxcore in docker builds
It's disabled for other toxcore builds in qTox since it's unused by
qTox. It also requires libconfig as a dep which is missing here.
2021-10-24 06:12:11 -07:00
Anthony Bilinski
b0083e7d38
chore: Set DEBIAN_FRONTEND=noninteractive in docker builds
Found in #6396.

Not needed yet, but will be in later versions of apt-get, so might as
well add it now so we don't forget.
2021-10-24 06:12:11 -07:00
Anthony Bilinski
db5081d3dc
Merge pull request #6390
Maxim Biro (8):
      chore(windows): use Debian Bullseye for Windows cross-compilation
      chore(windows): update OpenSSL to 1.1.1l
      chore(windows): update Qt to 5.12.11
      chore(windows): update Exif to 0.6.23
      chore(windows): update Expat to 2.4.1
      chore(windows): update GDB to 11.1, add GMP
      chore(windows): fix Wine prefix issue
      chore(windows): update copyright year
2021-10-24 06:10:54 -07:00
Anthony Bilinski
06195c0caf
Merge pull request #6311
Mick Sayson (1):
      feat(history): Save/load system messages to history
2021-10-24 05:37:44 -07:00
Anthony Bilinski
0d3be5aab3
Merge pull request #6310
Mick Sayson (1):
      feat(chatlog): Add SystemMessages to SessionChatLog
2021-10-24 05:35:22 -07:00
Mick Sayson
18109b2f7f feat(history): Save/load system messages to history 2021-10-16 14:29:57 -07:00
Mick Sayson
916834fb9c feat(chatlog): Add SystemMessages to SessionChatLog
* Rendering of system messages consolidated into single place
* API added to ichatlog to insert a system message at current location
* System messages are now used as type + args which will fit nicely with
  the work in #6221
2021-10-16 14:29:57 -07:00
Mick Sayson
5ddb8caa97 fix(toxext): Protect use of toxext modifying functions
When running with -DASAN on and a mod to send 10k messages in quick
succession I was seeing memory corruption within toxext. This was caused
by a race between toxext_iterate and toxext_send being called from
different threads.

Protect the use of functions coming from different threads with a mutex
2021-10-10 15:16:22 -07:00
Maxim Biro
b2215454e3
chore(windows): update copyright year 2021-10-10 17:16:24 -04:00
Maxim Biro
b11896100c
chore(windows): fix Wine prefix issue 2021-10-10 17:12:14 -04:00
Maxim Biro
66c2a0807b
chore(windows): update GDB to 11.1, add GMP
GDB 11 gained GMP as a required dependency.
2021-10-08 12:09:32 -04:00
Maxim Biro
8e856dfbfd
chore(windows): update Expat to 2.4.1 2021-10-08 12:03:01 -04:00
Maxim Biro
1209ba7b9c
chore(windows): update Exif to 0.6.23 2021-10-08 12:01:39 -04:00
Maxim Biro
936e9c05cf
chore(windows): update Qt to 5.12.11
We are staying on 5.12 instead of 5.15 because 5.12 is supported for
longer. There should be one more release in H2 2021.

Ideally we would switch to 6.2, but qTox doesn't seem to be Qt6-ready
yet.
2021-10-08 12:00:54 -04:00
Maxim Biro
678b864037
chore(windows): update OpenSSL to 1.1.1l 2021-10-08 12:00:06 -04:00
bodwok
45b69519c4
fix(ui): contact list optimization 2021-10-05 01:04:06 +03:00
Jimi Huotari
db8af0561d fix(UI): hide update related elements when -DUPDATE_CHECK=OFF 2021-10-03 02:25:06 +03:00
Jimi Huotari
50063f76ab fix(build): don't connect UpdateCheck when -DUPDATE_CHECK=OFF 2021-10-03 02:24:48 +03:00
Maxim Biro
57ae8a3e6a
chore(windows): use Debian Bullseye for Windows cross-compilation
bsdtar has moved to libarchive-tools package.

Something has changed in the newer gcc or mingw that makes Opus and
Sodium fail to build with:

  undefined reference to `__memcpy_chk'

The solution is to use -lssp or -fstack-protector, but while -lssp
worked for Opus, it was breaking Sodium's `make install` as it prevented
the .def file from being generated during the build time for some
reason:

  /usr/bin/install: cannot stat './libsodium-24.def': No such file or directory

while -fstack-protector worked just fine, so -fstack-protector was used
for both. This adds a new library dependency on libssp-0.dll.
2021-10-01 13:30:50 -04:00
Anthony Bilinski
da5c165f41
fix(appimage): Use external binary path when enabling autorun from appimage
Fix #6241
2021-09-23 21:05:27 -07:00
Anthony Bilinski
5852d61914
docs(INSTALL): Fix clone path, update Debian build dependencies 2021-09-23 20:46:50 -07:00
Anthony Bilinski
a6e3947a46
docs(INSTALL): Add repo install instructions for Debian and Ubuntu 2021-09-23 20:46:50 -07:00
Anthony Bilinski
4894ddd0e4
docs(INSTALL): add PKG_CONFIG_PATH to bootstrap.sh instructions 2021-09-22 04:11:27 -07:00
Anthony Bilinski
9d53e71dea
docs(INSTALL): Add ToxExt dirs to bootstrap.sh remove dirs function 2021-09-22 04:11:27 -07:00
Anthony Bilinski
216a1fc1af
docs(INSTALL): Add cmake to Arch deps 2021-09-22 04:11:27 -07:00
Anthony Bilinski
76fc2f8b8a
Merge pull request #6368
a1346054 (1):
      chore(legal): update license file
2021-09-22 03:20:46 -07:00
Anthony Bilinski
355e637ad0
Merge pull request #6376
cryptogospod (1):
      docs(CONTRIBUTING): Update IRC info
2021-09-18 01:37:43 -07:00
cryptogospod
58d3b26af2
docs(CONTRIBUTING): Update IRC info 2021-09-18 03:04:34 +02:00
sudden6
bde6dc0df0
fix: change color equation for groupchat names 2021-08-29 01:04:43 +02:00
sudden6
c95057283e
fix: correctly destroy on group remove 2021-08-28 00:26:45 +02:00
a1346054
0693c509f7 chore(legal): update license file
File downloaded from:
https://www.gnu.org/licenses/gpl-3.0.txt
2021-08-26 09:46:45 +00:00
Anthony Bilinski
a24f99df0d
Merge pull request #6347
bodwok (4):
      refactor(ui): separation of responsibility for sorting the contact list
      fix(build): include QVector type
      refactor(ui): code improvement
      refactor(ui): code improvement
2021-06-30 09:35:10 -07:00
Anthony Bilinski
9688a1e82f fix(video): Close video device after checking V4L video modes
Fix #6346
2021-06-27 11:25:38 -07:00
Anthony Bilinski
65ff532a54
fix(macos): update deprecated AVFoundation API 2021-06-27 11:20:17 -07:00
Anthony Bilinski
e0ba376723
chore(CI): Use named directory for ffmpeg, cd* fails with multiple arguments 2021-06-27 01:03:29 -07:00