mirror of
https://github.com/telegramdesktop/tdesktop
synced 2025-09-01 06:55:58 +00:00
Disable xcb_xlib
This commit is contained in:
@@ -54,12 +54,20 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
#include <unistd.h>
|
||||
#include <dirent.h>
|
||||
#include <pwd.h>
|
||||
#include <dlfcn.h>
|
||||
|
||||
#include <iostream>
|
||||
|
||||
using namespace Platform;
|
||||
using Platform::internal::WaylandIntegration;
|
||||
|
||||
#ifndef DESKTOP_APP_DISABLE_X11_INTEGRATION
|
||||
typedef struct _XDisplay Display;
|
||||
struct XErrorEvent;
|
||||
typedef int (*XErrorHandler)(Display*, XErrorEvent*);
|
||||
typedef XErrorHandler (*LPXSETERRORHANDLER)(XErrorHandler);
|
||||
#endif // !DESKTOP_APP_DISABLE_X11_INTEGRATION
|
||||
|
||||
#ifndef DESKTOP_APP_DISABLE_DBUS_INTEGRATION
|
||||
typedef GApplication TDesktopApplication;
|
||||
typedef GApplicationClass TDesktopApplicationClass;
|
||||
@@ -877,6 +885,20 @@ void start() {
|
||||
LOG(("Icon theme: %1").arg(QIcon::themeName()));
|
||||
LOG(("Fallback icon theme: %1").arg(QIcon::fallbackThemeName()));
|
||||
|
||||
#ifndef DESKTOP_APP_DISABLE_X11_INTEGRATION
|
||||
// tdesktop doesn't use xlib by itself,
|
||||
// but some libraries it depends on may do
|
||||
const auto XSetErrorHandler = reinterpret_cast<LPXSETERRORHANDLER>(
|
||||
dlsym(RTLD_DEFAULT, "XSetErrorHandler"));
|
||||
|
||||
// Reset errors if any
|
||||
(void) dlerror();
|
||||
|
||||
if (XSetErrorHandler) {
|
||||
XSetErrorHandler([](Display *dpy, XErrorEvent *err) { return 0; });
|
||||
}
|
||||
#endif // !DESKTOP_APP_DISABLE_X11_INTEGRATION
|
||||
|
||||
#ifndef DESKTOP_APP_DISABLE_DBUS_INTEGRATION
|
||||
InstallLauncher();
|
||||
LaunchGApplication();
|
||||
|
Reference in New Issue
Block a user