From b65ee894516adb001acd4ec53a659bdaf24ea5e4 Mon Sep 17 00:00:00 2001 From: tytan652 Date: Fri, 18 Apr 2025 09:59:39 +0200 Subject: [PATCH] frontend: Use winId for Wayland surface in Qt 6.9+ As of Qt 6.9, winId return a wl_surface pointer which allows us to move away completely from QPlatformNativeInterface. https://github.com/qt/qtwayland/commit/32f9b4d --- frontend/widgets/OBSQTDisplay.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/frontend/widgets/OBSQTDisplay.cpp b/frontend/widgets/OBSQTDisplay.cpp index 4f0d81fb3..8342c908f 100644 --- a/frontend/widgets/OBSQTDisplay.cpp +++ b/frontend/widgets/OBSQTDisplay.cpp @@ -10,8 +10,10 @@ #include #ifdef ENABLE_WAYLAND #include +#if QT_VERSION < QT_VERSION_CHECK(6, 9, 0) #include #endif +#endif #ifdef _WIN32 #define WIN32_LEAN_AND_MEAN @@ -50,8 +52,12 @@ static bool QTToGSWindow(QWindow *window, gs_window &gswindow) break; #ifdef ENABLE_WAYLAND case OBS_NIX_PLATFORM_WAYLAND: { +#if QT_VERSION < QT_VERSION_CHECK(6, 9, 0) QPlatformNativeInterface *native = QGuiApplication::platformNativeInterface(); gswindow.display = native->nativeResourceForWindow("surface", window); +#else + gswindow.display = (void *)window->winId(); +#endif success = gswindow.display != nullptr; break; }