Gleb Smirnoff
59f2f750b4
On FreeBSD the system malloc is jemalloc and non-portable
...
extensions are enabled including malloc_np.h.
2021-09-15 23:24:39 +03:00
John Preston
8069fdd873
Use base/random.h instead of openssl::RandomValue.
2021-09-15 13:42:22 +03:00
Ilya Fedin
e92ae40ecb
Implement close to taskbar option
2021-09-13 17:46:53 +03:00
Ilya Fedin
3fbd68cff9
Don't link glib with DESKTOP_APP_DISABLE_DBUS_INTEGRATION
2021-09-12 00:12:13 +03:00
Gleb Smirnoff
720f238cf8
Close a race between Gio threads and Qt application init.
...
QApplication has a historical feature[1] of calling setlocale(3) at init,
which today cause more harm than good. Such call isn't thread safe neither
per C standard, not per any known libc implementation. The Gio threads
would call into locale reading functions all the time, so early access to
locale by Gio may race with setlocale() by Qt leading to undefined behavior.
Platform specific start before the Sandbox (aka QApplication) is at core
design of tdesktop and that order can't be changed. There is no way to pause
Gio until QApplication instantiates.
Fortunately, Qt library itself has a static global flag that prevents it
from calling setlocale() twice. We don't even need to instantiate a
temporary QCoreApplication, we can just call into the method. So call
it form Platform::start before any existing or future calls to Gio.
Fixes #16922
[1] https://chat.stackoverflow.com/rooms/63812/discussion-between-phil-armstrong-and-matteo-italia
2021-09-10 13:18:20 +03:00
Ilya Fedin
45360adbc2
Remove unneeded libraries from snapcraft.yaml
2021-09-07 23:40:08 +03:00
Ilya Fedin
05d4d58f8b
Replace GTK integration with xsettings + XDP
2021-09-06 15:43:28 +03:00
Ilya Fedin
6192413f0b
Split webview initialization from GtkIntegration class
2021-08-25 12:52:43 +03:00
Ilya Fedin
51df482571
Get rid of gtk open with dialog
...
Portal open with dialog works just fine and is a more universal solution... That allows to get rid of an additional process.
2021-08-25 12:52:43 +03:00
Ilya Fedin
e7d39e6046
Get rid of GtkIntegration::initializeSettings use
2021-08-13 15:21:19 +03:00
Ilya Fedin
63a92cb90a
Log icon theme
2021-08-13 15:21:19 +03:00
Ilya Fedin
414456d003
Revert "Use gtk clipboard when available to avoid https://bugreports.qt.io/browse/QTBUG-56595 "
...
Fixed in Qt by https://codereview.qt-project.org/c/qt/qtbase/+/306771
This reverts commit 3a91003eea
.
2021-08-12 08:51:10 +03:00
Ilya Fedin
8b7b0fa570
Remove -externalupdater flag
...
Having a path to executable in /etc/tdesktop/externalupdater is a way more convenient and is enough
2021-08-11 18:20:52 +03:00
Ilya Fedin
ac86f3e5bd
Use Communications category for tray icon
...
Since tdesktop fits it
2021-08-10 15:42:21 +03:00
Ilya Fedin
d986e70a89
Fix global menu on 64-bit systems with X11
...
When Wayland support for global menu was added (0b86feeeb5
), X11 support was broken since QWindow::winId returns WId what is a quintptr that expands to uint32 on 32-bit and to uint64 on 64-bit, while AppMenu d-bus service accepts only uint32.
2021-07-28 23:41:36 +03:00
Ilya Fedin
1ebf27bfa1
Switch MainWindow to Ui::RpWindow
2021-07-28 18:05:39 +03:00
John Preston
245909e381
Beta version 2.8.12: Prune icon cache on Linux.
2021-07-23 19:39:31 +03:00
Ilya Fedin
087fbe89ce
Add additional checks to NotificationData::setImage
2021-07-19 22:56:38 +03:00
Ilya Fedin
dc81f9eeaf
Remove SetWatchingMediaKeys
...
Since SPMediaKeyTap has been removed on Mac, Linux is the only platform where this function is implemented, but that's not really needed due to MPRIS support, so SetWatchingMediaKeys can be dropped entirely
2021-07-19 22:56:14 +03:00
Ilya Fedin
49fed41dfa
Use RegisterUrlScheme from lib_base
2021-07-19 22:55:57 +03:00
Ilya Fedin
9b1d967967
Move NotificationServiceWatcher to notifications manager
2021-07-19 22:39:38 +03:00
Ilya Fedin
6f151f20e9
Add support for DESKTOP_APP_DISABLE_WEBKITGTK
...
Co-authored-by: mid-kid <esteve.varela@gmail.com>
2021-07-19 22:31:27 +03:00
Ilya Fedin
ae70dfb1f4
Return after throwing access denied error
2021-07-19 22:31:27 +03:00
Ilya Fedin
ba9b72e038
Fix -Wunused-variable warnings with gcc
2021-07-19 22:31:27 +03:00
Ilya Fedin
79cc797aff
Fix -Wunused-variable warnings
2021-07-13 21:43:34 +03:00
Ilya Fedin
b6881022ce
Allow to build with -Werror and clang
...
Fixes -Wdeprecated-enum-enum-conversion, -Wdeprecated-declarations, -Wrange-loop-construct, -Winconsistent-missing-override
2021-07-13 21:32:06 +03:00
Ilya Fedin
8ecc98eb03
Right file dialog freeze fix
...
The freezing is still happening if the service is not accessible
2021-07-12 11:10:16 +03:00
Ilya Fedin
62fd968409
Don't call gtk_selection_data_get_length on nullptr
2021-07-08 22:09:26 +03:00
Ilya Fedin
2c6e4eed19
Use unique_ptr for GtkSelectionData
2021-07-08 22:09:26 +03:00
23rd
9dfb43d525
Fixed build for macOS and Linux.
2021-07-08 20:18:40 +03:00
Ilya Fedin
3b07785f87
Optimize pasting with gtk
2021-07-08 18:58:40 +03:00
Ilya Fedin
ee773a28bb
Fix 30s freeze after pasting
2021-07-07 16:40:09 +03:00
Ilya Fedin
17cee8ec56
Set service name for lib_base and lib_webview gtk integration
2021-07-07 12:16:01 +03:00
23rd
a631a28092
Removed App::pixmapFromImageInPlace.
2021-07-06 12:13:06 +03:00
Ilya Fedin
6f031a715e
Revert "Use QMenuBar instead of own global menu implementation on Linux"
...
This reverts commit 79f96480c2
.
2021-07-05 21:01:20 +03:00
Ilya Fedin
75ff7a6637
Control GtkOpenWithDialog lifetime from outside
2021-07-04 20:05:53 +03:00
Ilya Fedin
22d23c8be1
Add missed signalId check
2021-07-02 20:11:28 +03:00
Ilya Fedin
b335741f99
Use gsl::finally to pop thread context where appropriate
2021-07-02 20:11:28 +03:00
Ilya Fedin
1261c775d4
Fix freeze after creating file dialog
2021-07-02 15:51:58 +03:00
Ilya Fedin
551ea7d879
Move GTK integration out of process with D-Bus
2021-07-02 00:59:36 +03:00
Ilya Fedin
47e32bebe4
Remove not really needed gtk scale factor query
2021-07-01 22:13:50 +03:00
Ilya Fedin
0b21c04489
Remove the copy of gtk file dialog
2021-07-01 22:13:50 +03:00
Ilya Fedin
85f013ebdb
Revert "Avoid removing portal platformtheme plugin in snap"
...
This reverts commit 12db51fe75
.
2021-07-01 22:13:50 +03:00
Ilya Fedin
d42fb6d1b9
Switch from mallocng to jemalloc
...
Now it's known how to make it free the memory in an expected manner and it's better maintained
2021-07-01 22:13:20 +03:00
Ilya Fedin
8d75078a42
Use Glib::MainLoop instead of QEventLoop in glib code
2021-06-29 15:10:08 +03:00
Ilya Fedin
c3fb392906
Clean dbus-specific code in main_window_linux.h
2021-06-29 10:30:48 +03:00
Ilya Fedin
a59bfdb2f8
Fix handleNativeSurfaceChanged when dbus integration is disabled
2021-06-29 10:30:48 +03:00
Ilya Fedin
79f96480c2
Use QMenuBar instead of own global menu implementation on Linux
2021-06-29 10:30:48 +03:00
Ilya Fedin
5c8f08fc92
Move preview support from QGtkDialog to GtkFileDialog
2021-06-24 11:26:24 +04:00
Ilya Fedin
00a0b2c8b6
Get rid of GTK cast templates
2021-06-24 11:26:24 +04:00