Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37764192
en ru br
ALT Linux repos
S:4.8.7-alt25
5.0: 4.5.2-alt1.M50.1
4.1: 4.4.3-alt1.M41.1
4.0: 4.3.4-alt5.M40.1
3.0: 4.0.1-alt1
+updates:4.0.1-alt2
+backports:4.2.3-alt7.1.M30

Group :: System/Libraries
RPM: qt4

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: rcc-stable-dirlisting.diff
Download


diff --git a/src/tools/rcc/rcc.cpp b/src/tools/rcc/rcc.cpp
index 1f6e58f..51cdd18 100644
--- a/src/tools/rcc/rcc.cpp
+++ b/src/tools/rcc/rcc.cpp
@@ -477,24 +477,30 @@ bool RCCResourceLibrary::interpretResourceFile(QIODevice *inputDevice,
                             if (!alias.endsWith(slash))
                                 alias += slash;
                             QDirIterator it(dir, QDirIterator::FollowSymlinks|QDirIterator::Subdirectories);
+                            QStringList fileList;
                             while (it.hasNext()) {
-                                it.next();
-                                QFileInfo child(it.fileInfo());
-                                if (child.fileName() != QLatin1String(".") && child.fileName() != QLatin1String("..")) {
-                                    const bool arc =
-                                        addFile(alias + child.fileName(),
-                                                RCCFileInfo(child.fileName(),
-                                                            child,
-                                                            language,
-                                                            country,
-                                                            RCCFileInfo::NoFlags,
-                                                            compressLevel,
-                                                            compressThreshold)
-                                                );
-                                    if (!arc)
-                                        m_failedResources.push_back(child.fileName());
+                                QString child = it.next();
+                                if (!child.endsWith(QLatin1String(".")) 
+                                    && !child.endsWith(QLatin1String(".."))) {
+                                    fileList << it.filePath();
                                 }
                             }
+                            fileList.sort();
+                            for (QStringListIterator it(fileList); it.hasNext();) {
+                                QFileInfo child(it.next());
+                                const bool arc =
+                                    addFile(alias + child.fileName(),
+                                            RCCFileInfo(child.fileName(),
+                                                        child,
+                                                        language,
+                                                        country,
+                                                        RCCFileInfo::NoFlags,
+                                                        compressLevel,
+                                                        compressThreshold)
+                                            );
+                                if (!arc)
+                                    m_failedResources.push_back(child.fileName());
+                            }
                         }
                     }
                 }
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin