From 0796e1204086fe60b67979d82d2cc27fd63e1955 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 15 Oct 2024 09:29:38 +0530 Subject: [PATCH] Add platform native interface to headless backed Used by fontconfigdatabase as of Qt 6.8.0 --- src/calibre/headless/headless_integration.cpp | 8 ++++++++ src/calibre/headless/headless_integration.h | 2 ++ 2 files changed, 10 insertions(+) diff --git a/src/calibre/headless/headless_integration.cpp b/src/calibre/headless/headless_integration.cpp index 77b6ab0503..a5dfc869cc 100644 --- a/src/calibre/headless/headless_integration.cpp +++ b/src/calibre/headless/headless_integration.cpp @@ -21,6 +21,7 @@ class QCoreTextFontEngine; #include #include #include +#include QT_BEGIN_NAMESPACE @@ -122,6 +123,13 @@ QAbstractEventDispatcher *HeadlessIntegration::createEventDispatcher() const #endif } +QPlatformNativeInterface *HeadlessIntegration::nativeInterface() const +{ + if (!m_nativeInterface) + m_nativeInterface.reset(new QPlatformNativeInterface); + return m_nativeInterface.get(); +} + HeadlessIntegration *HeadlessIntegration::instance() { return static_cast(QGuiApplicationPrivate::platformIntegration()); diff --git a/src/calibre/headless/headless_integration.h b/src/calibre/headless/headless_integration.h index e4771aaa40..f8705facff 100644 --- a/src/calibre/headless/headless_integration.h +++ b/src/calibre/headless/headless_integration.h @@ -41,6 +41,7 @@ public: QPlatformOpenGLContext *createPlatformOpenGLContext(QOpenGLContext *context) const override; QStringList themeNames() const override; QPlatformTheme *createPlatformTheme(const QString &name) const override; + QPlatformNativeInterface *nativeInterface() const override; unsigned options() const { return 0; } @@ -51,6 +52,7 @@ public: private: QScopedPointer m_fontDatabase; QScopedPointer platform_services; + mutable QScopedPointer m_nativeInterface; }; QT_END_NAMESPACE