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 
								
							 
						 
						
							
							
							
							
								
							
							
								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 
								
							 
						 
						
							
							
							
							
								
							
							
								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 
								
							 
						 
						
							
							
							
							
								
							
							
								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 
								
							 
						 
						
							
							
							
							
								
							
							
								79cc797aff 
								
							 
						 
						
							
							
								
								Fix -Wunused-variable warnings  
							
							
							
						 
						
							2021-07-13 21:43:34 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								17cee8ec56 
								
							 
						 
						
							
							
								
								Set service name for lib_base and lib_webview gtk integration  
							
							
							
						 
						
							2021-07-07 12:16:01 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								b335741f99 
								
							 
						 
						
							
							
								
								Use gsl::finally to pop thread context where appropriate  
							
							
							
						 
						
							2021-07-02 20:11:28 +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 
								
							 
						 
						
							
							
							
							
								
							
							
								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 
								
							 
						 
						
							
							
							
							
								
							
							
								a55b41faa1 
								
							 
						 
						
							
							
								
								Provide a list of shell integrations in QT_WAYLAND_SHELL_INTEGRATION  
							
							
							
						 
						
							2021-06-20 10:39:42 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								a26d769304 
								
							 
						 
						
							
							
								
								Set QT_WAYLAND_SHELL_INTEGRATION to custom value  
							
							
							
						 
						
							2021-06-19 08:16:38 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									23rd 
								
							 
						 
						
							
							
							
							
								
							
							
								32e47c24b4 
								
							 
						 
						
							
							
								
								Moved Linux MPRIS support to lib_base.  
							
							
							
						 
						
							2021-06-10 23:00:56 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								b964c681f8 
								
							 
						 
						
							
							
								
								Get system dark mode state asynchronously on Linux  
							
							
							
						 
						
							2021-05-31 20:31:24 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								e0d6faf45b 
								
							 
						 
						
							
							
								
								Fix build with LTO  
							
							
							
						 
						
							2021-05-19 12:26:07 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									John Preston 
								
							 
						 
						
							
							
							
							
								
							
							
								fbe4e3f0ec 
								
							 
						 
						
							
							
								
								Fix build with mallocng.  
							
							
							
						 
						
							2021-05-17 13:38:28 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								837485974a 
								
							 
						 
						
							
							
								
								Use mallocng on Linux  
							
							
							
						 
						
							2021-05-17 10:35:18 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								434ef34378 
								
							 
						 
						
							
							
								
								Implement taskbar icon hidding on Wayland with org_kde_plasma_shell protocol  
							
							
							
						 
						
							2021-05-17 10:00:01 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								680a9a7ca7 
								
							 
						 
						
							
							
								
								Implement parent setting for portal and gtk dialogs on Wayland via xdg-foreign-v2  
							
							
							
						 
						
							2021-05-11 10:53:32 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									John Preston 
								
							 
						 
						
							
							
							
							
								
							
							
								b1c4524612 
								
							 
						 
						
							
							
								
								Fix crash dump generation on Linux.  
							
							
							
						 
						
							2021-05-03 17:34:33 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									John Preston 
								
							 
						 
						
							
							
							
							
								
							
							
								7444f17c4e 
								
							 
						 
						
							
							
								
								Use sendfile only on Linux.  
							
							
							
						 
						
							2021-05-03 14:59:24 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									John Preston 
								
							 
						 
						
							
							
							
							
								
							
							
								434a4af9ef 
								
							 
						 
						
							
							
								
								Fix sendfile() arguments.  
							
							
							
						 
						
							2021-05-03 12:43:36 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									John Preston 
								
							 
						 
						
							
							
							
							
								
							
							
								3cad89f299 
								
							 
						 
						
							
							
								
								Fix build, add logs for sendfile().  
							
							
							
						 
						
							2021-05-03 11:21:38 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								34534a9653 
								
							 
						 
						
							
							
								
								Use kernel accelerated sendfile to copy files on Linux  
							
							
							
						 
						
							2021-05-03 09:59:58 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								b72260f420 
								
							 
						 
						
							
							
								
								Avoid 30s freeze when opening file dialog in broken envirionments  
							
							
							
						 
						
							2021-04-30 08:43:25 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								89b11ef084 
								
							 
						 
						
							
							
								
								Move gtk initialization back to ThirdParty::start  
							
							
							
						 
						
							2021-04-30 08:41:05 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								26d3995424 
								
							 
						 
						
							
							
								
								Move wayland helper to cmake_helpers  
							
							
							
						 
						
							2021-04-30 08:41:05 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									John Preston 
								
							 
						 
						
							
							
							
							
								
							
							
								b6fad35146 
								
							 
						 
						
							
							
								
								Improve library loading on Linux.  
							
							
							
						 
						
							2021-04-29 12:05:32 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									John Preston 
								
							 
						 
						
							
							
							
							
								
							
							
								70bf328e7d 
								
							 
						 
						
							
							
								
								Load wayland-client dynamically and provide functions.  
							
							
							
						 
						
							2021-04-29 11:21:57 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								c87802ce65 
								
							 
						 
						
							
							
								
								Move GTK initialization before Qt initialization  
							
							... 
							
							
							
							To ensure Qt doesn't load GTK earlier than us and gdk_set_allowed_backends respected 
							
						 
						
							2021-04-13 14:03:00 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								81d052adfc 
								
							 
						 
						
							
							
								
								Add a way to get dark mode state on KDE  
							
							
							
						 
						
							2021-04-02 20:30:47 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								9f6f7f7c9b 
								
							 
						 
						
							
							
								
								Fix build without dbus  
							
							
							
						 
						
							2021-03-21 08:59:19 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								3d1cddaca5 
								
							 
						 
						
							
							
								
								Add a way to change default handler in snap  
							
							
							
						 
						
							2021-03-20 14:20:09 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								85ac983a27 
								
							 
						 
						
							
							
								
								Add MPRIS support  
							
							
							
						 
						
							2021-03-18 21:55:06 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								b4b80822c8 
								
							 
						 
						
							
							
								
								Set glib's application name and prgname  
							
							
							
						 
						
							2021-03-18 07:51:57 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								0c8febce9c 
								
							 
						 
						
							
							
								
								Avoid allocations for case-insensetive compare  
							
							
							
						 
						
							2021-03-16 12:20:48 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								e493ab12dc 
								
							 
						 
						
							
							
								
								Get rid of GetLauncherFilename  
							
							... 
							
							
							
							Use QGuiApplication::desktopFileName directly instead 
							
						 
						
							2021-03-12 15:44:37 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								db0da70de6 
								
							 
						 
						
							
							
								
								Fix space on end of a g_warning  
							
							
							
						 
						
							2021-03-11 11:19:26 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								b24cba99e2 
								
							 
						 
						
							
							
								
								Catch ListActivatableNames errors  
							
							
							
						 
						
							2021-03-10 11:22:14 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								817610ddd7 
								
							 
						 
						
							
							
								
								Get rid of RunShellCommand  
							
							
							
						 
						
							2021-03-10 09:46:13 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ilya Fedin 
								
							 
						 
						
							
							
							
							
								
							
							
								77c8ca76b7 
								
							 
						 
						
							
							
								
								Remove duplicate ifndef DESKTOP_APP_DISABLE_DBUS_INTEGRATION in includes  
							
							
							
						 
						
							2021-03-10 09:46:13 +04:00