commit e40ac0a0fbe31ed934305ffd61bfd2f9a3e3ad70
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Sat Apr 26 16:40:12 2025 +0100
Fix build with Qt 6.9
qt-6.9.patch | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++
telegram-desktop.spec | 1 +
2 files changed, 62 insertions(+)
---
diff --git a/qt-6.9.patch b/qt-6.9.patch
new file mode 100644
index 0000000..4e8b170
--- /dev/null
+++ b/qt-6.9.patch
@@ -0,0 +1,61 @@
+From 55deb31dff2a2bbda5124d2500ebbc7150724e6b Mon Sep 17 00:00:00 2001
+From: Ilya Fedin <fedin-ilja2010(a)ya.ru>
+Date: Fri, 4 Apr 2025 23:33:40 +0000
+Subject: [PATCH] Fix a PiP crash with Qt 6.9
+
+---
+ Telegram/SourceFiles/media/view/media_view_pip.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/Telegram/SourceFiles/media/view/media_view_pip.cpp
b/Telegram/SourceFiles/media/view/media_view_pip.cpp
+index 4e1d7c1360f188..7c8f958889ffc2 100644
+--- a/Telegram/SourceFiles/media/view/media_view_pip.cpp
++++ b/Telegram/SourceFiles/media/view/media_view_pip.cpp
+@@ -362,6 +362,10 @@ void PipPanel::init() {
+ ) | rpl::filter(rpl::mappers::_1) | rpl::start_with_next([=] {
+ // Workaround Qt's forced transient parent.
+ Ui::Platform::ClearTransientParent(widget());
++ }, rp()->lifetime());
++
++ rp()->shownValue(
++ ) | rpl::filter(rpl::mappers::_1) | rpl::start_with_next([=] {
+ Ui::Platform::SetWindowMargins(widget(), _padding);
+ }, rp()->lifetime());
+
+From c952da37294b958e896b27528e7834f0892faa0a Mon Sep 17 00:00:00 2001
+From: Antonio Rojas <arojas(a)archlinux.org>
+Date: Sat, 1 Mar 2025 01:20:04 +0100
+Subject: [PATCH] Fix build with Qt 6.9
+
+---
+ base/platform/linux/base_linux_xdp_utilities.cpp | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/Telegram/lib_base/base/platform/linux/base_linux_xdp_utilities.cpp
b/Telegram/lib_base/base/platform/linux/base_linux_xdp_utilities.cpp
+index 8aca67c9..80626af1 100644
+--- a/Telegram/lib_base/base/platform/linux/base_linux_xdp_utilities.cpp
++++ b/Telegram/lib_base/base/platform/linux/base_linux_xdp_utilities.cpp
+@@ -16,7 +16,11 @@
+ #if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
+ #include <qpa/qplatformintegration.h>
+ #include <private/qguiapplication_p.h>
++#if QT_VERSION >= QT_VERSION_CHECK(6, 9, 0)
++#include <private/qdesktopunixservices_p.h>
++#else
+ #include <private/qgenericunixservices_p.h>
++#endif // Qt >= 6.9.0
+ #endif // Qt >= 6.5.0
+
+ #include <sstream>
+@@ -39,7 +43,11 @@ std::string ParentWindowID(QWindow *window) {
+ }
+
+ #if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
++#if QT_VERSION >= QT_VERSION_CHECK(6, 9, 0)
++ if (const auto services = dynamic_cast<QDesktopUnixServices*>(
++#else
+ if (const auto services = dynamic_cast<QGenericUnixServices*>(
++#endif // Qt >= 6.9.0
+ QGuiApplicationPrivate::platformIntegration()->services())) {
+ return services->portalWindowIdentifier(window).toStdString();
+ }
diff --git a/telegram-desktop.spec b/telegram-desktop.spec
index 5fdad75..ff43628 100644
--- a/telegram-desktop.spec
+++ b/telegram-desktop.spec
@@ -24,6 +24,7 @@ License: GPL-3.0-or-later AND BSD-3-Clause AND BSD-2-Clause AND
Apache-2.0 AND M
URL:
https://github.com/telegramdesktop/%{appname}
Summary: Telegram Desktop official messaging app
Source0: %{url}/releases/download/v%{version}/%{appname}-%{version}-full.tar.gz
+Patch0: qt-6.9.patch
# Telegram Desktop require more than 8 GB of RAM on linking stage.
# Disabling all low-memory architectures.