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
openSUSE Build Service is sponsored by