]> git.lyx.org Git - features.git/commitdiff
Fix Qt deprecation warn for QList::fromSet()
authorScott Kostyshak <skostysh@lyx.org>
Sat, 7 Mar 2020 02:04:15 +0000 (21:04 -0500)
committerScott Kostyshak <skostysh@lyx.org>
Sat, 7 Mar 2020 03:36:12 +0000 (22:36 -0500)
Fix the following warning from Qt 5.14.1:

  error: ‘static QList<T> QList<T>::fromSet(const QSet<T>&) [with T = QString]’ is deprecated: Use QList<T>(set.begin(), set.end()) instead. [-Werror=deprecated-declarations]

Regarding QList::fromSet(), the documentation now states the
following [1]:

  Since Qt 5.14, range constructors are available for Qt's generic
  container classes and should be used in place of this method.

[1] https://doc.qt.io/qt-5/qlist.html

src/frontends/qt/qt_helpers.cpp

index 0311b8b25f45e6f0a8b1852fe14f6553615e12e8..f8cb24717915725d29d091b773cc9bd08904d241 100644 (file)
@@ -335,8 +335,12 @@ QStringList texFileList(QString const & filename)
                        set.insert(qfile);
        }
 
-       // remove duplicates
-       return QList<QString>::fromSet(set);
+        // remove duplicates
+#if (QT_VERSION >= QT_VERSION_CHECK(5, 14, 0))
+        return QList<QString>(set.begin(), set.end());
+#else
+        return QList<QString>::fromSet(set);
+#endif
 }
 
 QString const externalLineEnding(docstring const & str)