Disable xcb_xlib

This commit is contained in:
Ilya Fedin 2023-03-31 23:33:42 +04:00 committed by John Preston
parent a529932556
commit d1ff6e583d
2 changed files with 23 additions and 0 deletions

View File

@ -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();

View File

@ -734,6 +734,7 @@ RUN git clone -b {{ QT_TAG }} --depth=1 git://code.qt.io/qt/qt5.git qt_{{ QT }}
-qt-harfbuzz \
-qt-pcre \
-no-icu \
-no-feature-xcb-xlib \
-no-feature-xcb-sm \
-no-feature-egl-extension-platform-wayland \
-static \