File 35ce74f1510a9f41b2aff82fd1eda63014c3fe2b.patch of Package libqt6xdg
From 35ce74f1510a9f41b2aff82fd1eda63014c3fe2b Mon Sep 17 00:00:00 2001
From: Palo Kisa <palo.kisa@gmail.com>
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 <tsujan2000@gmail.com>
---
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<ScalableEntry> iconEntry = (followColorScheme() && theme.followsColorScheme()) ? std::make_unique<ScalableFollowsColorEntry>() : std::make_unique<ScalableEntry>();
+ std::unique_ptr<QIconLoaderEngineEntry> 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<ScalableEntry *>(entry))
+ if (dir.type == QIconDirInfo::Scalable
+ || dynamic_cast<ScalableEntry *>(entry)
+ || dynamic_cast<ScalableFollowsColorEntry *>(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