summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-i18n/fcitx-qt/files/fcitx-qt-5.1.3-make-qwayland-workaround-optional.patch')
-rw-r--r--app-i18n/fcitx-qt/files/fcitx-qt-5.1.3-make-qwayland-workaround-optional.patch158
1 files changed, 0 insertions, 158 deletions
diff --git a/app-i18n/fcitx-qt/files/fcitx-qt-5.1.3-make-qwayland-workaround-optional.patch b/app-i18n/fcitx-qt/files/fcitx-qt-5.1.3-make-qwayland-workaround-optional.patch
deleted file mode 100644
index 0ef5fc8652a7..000000000000
--- a/app-i18n/fcitx-qt/files/fcitx-qt-5.1.3-make-qwayland-workaround-optional.patch
+++ /dev/null
@@ -1,158 +0,0 @@
-Backport of https://github.com/fcitx/fcitx5-qt/commit/af535e7e106f69e7dc6dc28db3653601d1e6156a
-
-Backport upstream commit af535e7e making QtWayland optional.
-All QtWayland-related code is guarded behind `isWayland` checks anyways.
-This benefits users of pure X11 setups.
-
-Author: Lucio Sauer <watermanpaint@posteo.net>
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -16,6 +16,7 @@ option(ENABLE_QT6 "Enable Qt 6" Off)
- option(BUILD_ONLY_PLUGIN "Build only plugin" Off)
- option(BUILD_STATIC_PLUGIN "Build plugin as static" Off)
- option(WITH_FCITX_PLUGIN_NAME "Enable plugin name with fcitx" On)
-+option(ENABLE_QT6_WAYLAND_WORKAROUND "Enable Qt6 Wayland workaround" On)
-
- if (BUILD_ONLY_PLUGIN)
- set(LIBRARY_TYPE OBJECT)
---- a/qt5/platforminputcontext/fcitxcandidatewindow.cpp
-+++ b/qt5/platforminputcontext/fcitxcandidatewindow.cpp
-@@ -21,7 +21,7 @@
- #include <QtMath>
- #include <utility>
-
--#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0)
-+#if defined(FCITX_ENABLE_QT6_WAYLAND_WORKAROUND) && QT_VERSION >= QT_VERSION_CHECK(6, 6, 0)
- #include <QtWaylandClient/private/qwayland-xdg-shell.h>
- #include <QtWaylandClient/private/qwaylanddisplay_p.h>
- #include <QtWaylandClient/private/qwaylandintegration_p.h>
-@@ -34,7 +34,7 @@ namespace fcitx {
-
- namespace {
-
--#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0)
-+#if defined(FCITX_ENABLE_QT6_WAYLAND_WORKAROUND) && QT_VERSION >= QT_VERSION_CHECK(6, 6, 0)
- class XdgWmBase : public QtWayland::xdg_wm_base {
- public:
- using xdg_wm_base::xdg_wm_base;
-@@ -120,7 +120,7 @@ FcitxCandidateWindow::FcitxCandidateWindow(QWindow *window,
- // Not using Qt::BypassWindowManagerHint ensures wayland handle
- // fractional scale.
- setFlags(Qt::ToolTip | commonFlags);
--#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0)
-+#if defined(FCITX_ENABLE_QT6_WAYLAND_WORKAROUND) && QT_VERSION >= QT_VERSION_CHECK(6, 6, 0)
- if (auto instance = QtWaylandClient::QWaylandIntegration::instance()) {
- for (QtWaylandClient::QWaylandDisplay::RegistryGlobal global :
- instance->display()->globals()) {
-@@ -132,7 +132,6 @@ FcitxCandidateWindow::FcitxCandidateWindow(QWindow *window,
- }
- }
- }
--#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0)
- setProperty("_q_waylandPopupAnchor",
- QVariant::fromValue(Qt::BottomEdge | Qt::LeftEdge));
- setProperty("_q_waylandPopupGravity",
-@@ -142,7 +141,6 @@ FcitxCandidateWindow::FcitxCandidateWindow(QWindow *window,
- static_cast<unsigned int>(
- QtWayland::xdg_positioner::constraint_adjustment_slide_x |
- QtWayland::xdg_positioner::constraint_adjustment_flip_y));
--#endif
- #endif
- } else {
- // Qt::Popup ensures X11 doesn't apply tooltip animation under kwin.
-@@ -484,7 +482,7 @@ void FcitxCandidateWindow::updateClientSideUI(
- QRect cursorRect = context_->cursorRectangleWrapper();
- QRect screenGeometry;
-
--#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0)
-+#if defined(FCITX_ENABLE_QT6_WAYLAND_WORKAROUND) && QT_VERSION >= QT_VERSION_CHECK(6, 6, 0)
- if (isWayland_) {
- auto waylandWindow =
- static_cast<QtWaylandClient::QWaylandWindow *>(window->handle());
-@@ -520,12 +518,10 @@ void FcitxCandidateWindow::updateClientSideUI(
- }
- bool wasVisible = isVisible();
- bool cursorRectChanged = false;
--#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0)
- if (property("_q_waylandPopupAnchorRect") != cursorRect) {
- cursorRectChanged = true;
- setProperty("_q_waylandPopupAnchorRect", cursorRect);
- }
--#endif
- // This try to ensure xdg_popup is available.
- show();
- xdg_popup *xdgPopup = static_cast<xdg_popup *>(
-@@ -553,7 +549,6 @@ void FcitxCandidateWindow::updateClientSideUI(
- positioner->destroy();
- return;
- }
--#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0)
- // Check if we need remap.
- // If it was invisible, nothing need to be done.
- // If cursor rect changed, the window must be remapped.
-@@ -570,7 +565,6 @@ void FcitxCandidateWindow::updateClientSideUI(
- show();
- }
- return;
--#endif
- }
- #endif
- // Try to apply the screen edge detection over the window, because if we
---- a/qt5/platforminputcontext/fcitxcandidatewindow.h
-+++ b/qt5/platforminputcontext/fcitxcandidatewindow.h
-@@ -19,7 +19,7 @@
- #include <qscopedpointer.h>
- #include <vector>
-
--#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0)
-+#if defined(FCITX_ENABLE_QT6_WAYLAND_WORKAROUND) && QT_VERSION >= QT_VERSION_CHECK(6, 6, 0)
- #include <QtWaylandClient/private/qwayland-xdg-shell.h>
- #endif
-
-@@ -93,7 +93,7 @@ public Q_SLOTS:
- std::vector<QRect> candidateRegions_;
- QPointer<QWindow> parent_;
-
--#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0)
-+#if defined(FCITX_ENABLE_QT6_WAYLAND_WORKAROUND) && QT_VERSION >= QT_VERSION_CHECK(6, 6, 0)
- QScopedPointer<QtWayland::xdg_wm_base> xdgWmBase_;
- #endif
- };
---- a/qt6/CMakeLists.txt
-+++ b/qt6/CMakeLists.txt
-@@ -1,8 +1,10 @@
-
- find_package(Qt6 ${REQUIRED_QT6_VERSION} CONFIG REQUIRED Core DBus Widgets)
- find_package(Qt6Gui ${REQUIRED_QT6_VERSION} REQUIRED Private)
--find_package(Qt6WaylandClient ${REQUIRED_QT6_VERSION} REQUIRED Private)
--find_package(Qt6WaylandGlobalPrivate ${REQUIRED_QT6_VERSION} REQUIRED)
-+if (ENABLE_QT6_WAYLAND_WORKAROUND)
-+ find_package(Qt6WaylandClient ${REQUIRED_QT6_VERSION} REQUIRED Private)
-+ find_package(Qt6WaylandGlobalPrivate ${REQUIRED_QT6_VERSION} REQUIRED)
-+endif()
-
- add_subdirectory(dbusaddons)
- add_subdirectory(platforminputcontext)
---- a/qt6/platforminputcontext/CMakeLists.txt
-+++ b/qt6/platforminputcontext/CMakeLists.txt
-@@ -49,11 +49,16 @@ target_link_libraries(fcitx5platforminputcontextplugin-qt6
- XCB::XCB
- Fcitx5Qt6::DBusAddons
- XKBCommon::XKBCommon
-- Qt6::WaylandGlobalPrivate
-- Qt6::WaylandClient
-- Qt6::WaylandClientPrivate
- )
-
-+if (ENABLE_QT6_WAYLAND_WORKAROUND)
-+ target_compile_definitions(fcitx5platforminputcontextplugin-qt6 PRIVATE "-DFCITX_ENABLE_QT6_WAYLAND_WORKAROUND")
-+ target_link_libraries(fcitx5platforminputcontextplugin-qt6
-+ Qt6::WaylandGlobalPrivate
-+ Qt6::WaylandClient
-+ Qt6::WaylandClientPrivate)
-+endif()
-+
- get_target_property(_QT6_QMAKE_EXECUTABLE Qt6::qmake LOCATION)
- execute_process(
- COMMAND ${_QT6_QMAKE_EXECUTABLE} -query "QT_INSTALL_PLUGINS"