From c7491b6ba4fbda9b2a6bffc1926169436978a605 Mon Sep 17 00:00:00 2001 From: Tim Jenssen Date: Fri, 27 Sep 2024 14:53:07 +0200 Subject: [PATCH] fix GCC 10.2.1 arm std::ranges::dangling compile issues MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit error was: src/plugins/qmldesigner/components/componentcore/zoomaction.cpp:97:14: error: no match for ‘operator!=’ (operand types are ‘std::ranges::dangling’ and ‘std::array::reverse_iterator’ {aka ‘std::reverse_iterator’}) Change-Id: Ifefc4d17791fc5eb8a1446538b429410692b6d2e Reviewed-by: Eike Ziller --- .../qmldesigner/components/componentcore/zoomaction.cpp | 6 ++++-- .../components/timelineeditor/timelinewidget.cpp | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/plugins/qmldesigner/components/componentcore/zoomaction.cpp b/src/plugins/qmldesigner/components/componentcore/zoomaction.cpp index 2fb05f23fdc..9d02e705a10 100644 --- a/src/plugins/qmldesigner/components/componentcore/zoomaction.cpp +++ b/src/plugins/qmldesigner/components/componentcore/zoomaction.cpp @@ -93,13 +93,15 @@ double ZoomAction::setPreviousZoomFactor(double zoom) return zoom; auto smaller = [zoom](double val) { return val < zoom; }; - if (auto iter = std::ranges::find_if(m_zooms | std::views::reverse, smaller); - iter != m_zooms.rend()) { + auto iter = std::find_if(m_zooms.rbegin(), m_zooms.rend(), smaller); + + if (iter != m_zooms.rend()) { auto index = std::distance(iter, m_zooms.rend() - 1); m_combo->setCurrentIndex(static_cast(index)); m_combo->setToolTip(m_combo->currentText()); return *iter; } + return zoom; } diff --git a/src/plugins/qmldesigner/components/timelineeditor/timelinewidget.cpp b/src/plugins/qmldesigner/components/timelineeditor/timelinewidget.cpp index fe0917be0d0..41743552192 100644 --- a/src/plugins/qmldesigner/components/timelineeditor/timelinewidget.cpp +++ b/src/plugins/qmldesigner/components/timelineeditor/timelinewidget.cpp @@ -74,8 +74,8 @@ static qreal next(const QVector &vector, qreal current) static qreal previous(const QVector &vector, qreal current) { - auto iter = std::ranges::find_if(vector | std::views::reverse, - [&](qreal val) { return val < current; }); + auto iter = std::find_if(vector.rbegin(), vector.rend(), + [&](qreal val) { return val < current; }); if (iter != vector.rend()) return *iter; return current;