diff --git a/x11-packages/libqtxdg/build.sh b/x11-packages/libqtxdg/build.sh index cd4b0b66a5..b64a182ecc 100644 --- a/x11-packages/libqtxdg/build.sh +++ b/x11-packages/libqtxdg/build.sh @@ -3,7 +3,7 @@ TERMUX_PKG_DESCRIPTION="Qt implementation of freedesktop.org XDG specifications" TERMUX_PKG_LICENSE="LGPL-2.1" TERMUX_PKG_MAINTAINER="@termux" TERMUX_PKG_VERSION="4.1.0" -TERMUX_PKG_REVISION=1 +TERMUX_PKG_REVISION=2 TERMUX_PKG_SRCURL="https://github.com/lxqt/libqtxdg/releases/download/${TERMUX_PKG_VERSION}/libqtxdg-${TERMUX_PKG_VERSION}.tar.xz" TERMUX_PKG_SHA256=0604d397d9561a6a6148930a2b131f2bdee86cec6cca304f7513a8ec7b8e8809 TERMUX_PKG_DEPENDS="libc++, qt6-qtbase, qt6-qtsvg, glib" diff --git a/x11-packages/libqtxdg/qt-6.9.0-compatibility.patch b/x11-packages/libqtxdg/qt-6.9.0-compatibility.patch new file mode 100644 index 0000000000..cb09f824f7 --- /dev/null +++ b/x11-packages/libqtxdg/qt-6.9.0-compatibility.patch @@ -0,0 +1,69 @@ +Cherry-pick of https://github.com/lxqt/libqtxdg/commit/35ce74f1510a9f41b2aff82fd1eda63014c3fe2b + +From 35ce74f1510a9f41b2aff82fd1eda63014c3fe2b Mon Sep 17 00:00:00 2001 +From: Palo Kisa +Date: Sat, 22 Feb 2025 09:42:18 +0100 +Subject: [PATCH] Adapt to changes in private headers Qt v6.9 (#311) + +* Adapt to changes in private headers Qt v6.9 + +* Added a missing condition + +--------- + +Co-authored-by: Tsu Jan +--- + src/xdgiconloader/xdgiconloader.cpp | 11 +++++++++-- + src/xdgiconloader/xdgiconloader_p.h | 3 ++- + 2 files changed, 11 insertions(+), 3 deletions(-) + +diff --git a/src/xdgiconloader/xdgiconloader.cpp b/src/xdgiconloader/xdgiconloader.cpp +index c299cca..7595069 100644 +--- a/src/xdgiconloader/xdgiconloader.cpp ++++ b/src/xdgiconloader/xdgiconloader.cpp +@@ -439,7 +439,11 @@ QThemeIconInfo XdgIconLoader::findIconHelper(const QString &themeName, + } else if (gSupportsSvg) { + const QString svgPath = subDir + svgIconName; + if (QFile::exists(svgPath)) { +- std::unique_ptr iconEntry = (followColorScheme() && theme.followsColorScheme()) ? std::make_unique() : std::make_unique(); ++ std::unique_ptr iconEntry; ++ if (followColorScheme() && theme.followsColorScheme()) ++ iconEntry.reset(new ScalableFollowsColorEntry); ++ else ++ iconEntry.reset(new ScalableEntry); + iconEntry->dir = dirInfo; + iconEntry->filename = svgPath; + info.entries.push_back(std::move(iconEntry)); +@@ -737,8 +741,11 @@ QSize XdgIconLoaderEngine::actualSize(const QSize &size, QIcon::Mode mode, + QIconLoaderEngineEntry *entry = entryForSize(m_info, size); + if (entry) { + const QIconDirInfo &dir = entry->dir; +- if (dir.type == QIconDirInfo::Scalable || dynamic_cast(entry)) ++ if (dir.type == QIconDirInfo::Scalable ++ || dynamic_cast(entry) ++ || dynamic_cast(entry)) { + return size; ++ } + else { + int dir_size = dir.size; + //Note: fallback for directories that don't have its content size defined +diff --git a/src/xdgiconloader/xdgiconloader_p.h b/src/xdgiconloader/xdgiconloader_p.h +index 6c5f17f..cb990a9 100644 +--- a/src/xdgiconloader/xdgiconloader_p.h ++++ b/src/xdgiconloader/xdgiconloader_p.h +@@ -61,13 +61,14 @@ + + class XdgIconLoader; + +-struct ScalableFollowsColorEntry : public ScalableEntry ++struct ScalableFollowsColorEntry : public QIconLoaderEngineEntry + { + #if (QT_VERSION >= QT_VERSION_CHECK(6,8,0)) + QPixmap pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state, qreal scale) override; + #else + QPixmap pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state) override; + #endif ++ QIcon svgIcon; + }; + + //class QIconLoaderEngine : public QIconEngine