diff --git a/src/backend_mpv/MpvBackend.cpp b/src/backend_mpv/MpvBackend.cpp index 1234567..abcdefg 100644 --- a/src/backend_mpv/MpvBackend.cpp +++ b/src/backend_mpv/MpvBackend.cpp @@ -36,7 +36,9 @@ # include // IWYU pragma: keep #endif //#endif +#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) # include // IWYU pragma: keep +#endif #endif Q_LOGGING_CATEGORY(wekdeMpv, "wekde.mpv") @@ -81,19 +83,24 @@ int create_gl(MPVCLientAPI* mpv, mpv_render_context** mpv_gl, mpv_opengl_init_p #if defined(__linux__) || defined(__FreeBSD__) if (QGuiApplication::platformName().contains("xcb")) { params[2].type = MPV_RENDER_PARAM_X11_DISPLAY; #if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) - // TODO: QGuiApplication::nativeInterface()::display(); - // same for wayland - auto* native = QGuiApplication::platformNativeInterface(); - params[2].data = native->nativeResourceForWindow("display", nullptr); + auto* x11App = qApp->nativeInterface(); + params[2].data = x11App ? x11App->display() : nullptr; #else params[2].data = QX11Info::display(); #endif } if (QGuiApplication::platformName().contains("wayland")) { params[2].type = MPV_RENDER_PARAM_WL_DISPLAY; +#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) + auto* waylandApp = qApp->nativeInterface(); + params[2].data = waylandApp ? waylandApp->display() : nullptr; +#else auto* native = QGuiApplication::platformNativeInterface(); params[2].data = native->nativeResourceForWindow("display", nullptr); +#endif } #endif int code = mpv_render_context_create(mpv_gl, mpv, params);