Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kosmindoormap for openSUSE:Factory checked in at 2025-07-06 17:10:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kosmindoormap (Old) and /work/SRC/openSUSE:Factory/.kosmindoormap.new.1903 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kosmindoormap" Sun Jul 6 17:10:56 2025 rev:56 rq:1290403 version:25.04.3 Changes: -------- --- /work/SRC/openSUSE:Factory/kosmindoormap/kosmindoormap.changes 2025-06-10 09:04:00.216213620 +0200 +++ /work/SRC/openSUSE:Factory/.kosmindoormap.new.1903/kosmindoormap.changes 2025-07-06 17:15:30.505820494 +0200 @@ -1,0 +2,12 @@ +Tue Jul 1 15:27:15 UTC 2025 - Christophe Marin <christo...@krop.fr> + +- Update to 25.04.3 + * New bugfix release + * For more details please see: + * https://kde.org/announcements/gear/25.04.3/ +- Changes since 25.04.2: + * Be slightly more clever when fixing level tag separator errors + * Also find standard-compliant free-floating platform section signs + * Extend area rules for various elevator tagging schemes + +------------------------------------------------------------------- Old: ---- kosmindoormap-25.04.2.tar.xz kosmindoormap-25.04.2.tar.xz.sig New: ---- kosmindoormap-25.04.3.tar.xz kosmindoormap-25.04.3.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kosmindoormap.spec ++++++ --- /var/tmp/diff_new_pack.e3758d/_old 2025-07-06 17:15:31.225850288 +0200 +++ /var/tmp/diff_new_pack.e3758d/_new 2025-07-06 17:15:31.225850288 +0200 @@ -21,7 +21,7 @@ %bcond_without released Name: kosmindoormap -Version: 25.04.2 +Version: 25.04.3 Release: 0 Summary: OSM multi-floor indoor map renderer License: LGPL-2.0-or-later AND CC0-1.0 ++++++ kosmindoormap-25.04.2.tar.xz -> kosmindoormap-25.04.3.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kosmindoormap-25.04.2/CMakeLists.txt new/kosmindoormap-25.04.3/CMakeLists.txt --- old/kosmindoormap-25.04.2/CMakeLists.txt 2025-06-02 23:38:17.000000000 +0200 +++ new/kosmindoormap-25.04.3/CMakeLists.txt 2025-06-30 18:48:48.000000000 +0200 @@ -6,7 +6,7 @@ # KDE Application Version, managed by release script set (RELEASE_SERVICE_VERSION_MAJOR "25") set (RELEASE_SERVICE_VERSION_MINOR "04") -set (RELEASE_SERVICE_VERSION_MICRO "2") +set (RELEASE_SERVICE_VERSION_MICRO "3") set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") project(KOSMIndoorMap VERSION ${RELEASE_SERVICE_VERSION}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kosmindoormap-25.04.2/autotests/levelparsertest.cpp new/kosmindoormap-25.04.3/autotests/levelparsertest.cpp --- old/kosmindoormap-25.04.2/autotests/levelparsertest.cpp 2025-06-02 23:38:17.000000000 +0200 +++ new/kosmindoormap-25.04.3/autotests/levelparsertest.cpp 2025-06-30 18:48:48.000000000 +0200 @@ -43,6 +43,7 @@ // invalid but we have workarounds for this QTest::newRow("1,5") << "1,5" << LV{15}; + QTest::newRow("0,-1") << "0,-1" << LV{0,-10}; } void testLevelParse() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kosmindoormap-25.04.2/po/fr/kosmindoormap.po new/kosmindoormap-25.04.3/po/fr/kosmindoormap.po --- old/kosmindoormap-25.04.2/po/fr/kosmindoormap.po 2025-06-02 23:38:17.000000000 +0200 +++ new/kosmindoormap-25.04.3/po/fr/kosmindoormap.po 2025-06-30 18:48:48.000000000 +0200 @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2020, 2021, 2022, 2023, 2024 Xavier Besnard <xavier.besn...@kde.org> +# SPDX-FileCopyrightText: 2020, 2021, 2022, 2023, 2024, 2025 Xavier Besnard <xavier.besn...@kde.org> # Xavier Besnard <xavier.besn...@kde.org>, 2023. msgid "" msgstr "" @@ -13,7 +13,7 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Lokalize 23.08.5\n" +"X-Generator: Lokalize 25.04.2\n" #: app/main.cpp:70 #, kde-format diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kosmindoormap-25.04.2/po/gl/kosmindoormap.po new/kosmindoormap-25.04.3/po/gl/kosmindoormap.po --- old/kosmindoormap-25.04.2/po/gl/kosmindoormap.po 2025-06-02 23:38:17.000000000 +0200 +++ new/kosmindoormap-25.04.3/po/gl/kosmindoormap.po 2025-06-30 18:48:48.000000000 +0200 @@ -1,7 +1,7 @@ # Copyright (C) 2024 This file is copyright: # This file is distributed under the same license as the kosmindoormap package. # -# SPDX-FileCopyrightText: 2024 Adrián Chaves (Gallaecio) +# SPDX-FileCopyrightText: 2024, 2025 Adrián Chaves (Gallaecio) msgid "" msgstr "" "Project-Id-Version: kosmindoormap\n" @@ -15,7 +15,7 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Lokalize 24.08.3\n" +"X-Generator: Lokalize 25.04.2\n" #: app/main.cpp:70 #, kde-format diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kosmindoormap-25.04.2/po/it/kosmindoormap.po new/kosmindoormap-25.04.3/po/it/kosmindoormap.po --- old/kosmindoormap-25.04.2/po/it/kosmindoormap.po 2025-06-02 23:38:17.000000000 +0200 +++ new/kosmindoormap-25.04.3/po/it/kosmindoormap.po 2025-06-30 18:48:48.000000000 +0200 @@ -1,7 +1,7 @@ # Copyright (C) 2023 This file is copyright: # This file is distributed under the same license as the kosmindoormap package. # Paolo Zamponi <feu...@gmail.com>, 2020. -# SPDX-FileCopyrightText: 2022, 2023, 2024 Vincenzo Reale <smart212...@gmail.com> +# SPDX-FileCopyrightText: 2022, 2023, 2024, 2025 Vincenzo Reale <smart212...@gmail.com> # msgid "" msgstr "" @@ -16,7 +16,7 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Lokalize 24.05.1\n" +"X-Generator: Lokalize 25.04.2\n" #: app/main.cpp:70 #, kde-format diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kosmindoormap-25.04.2/src/app/org.kde.kosmindoormap.appdata.xml new/kosmindoormap-25.04.3/src/app/org.kde.kosmindoormap.appdata.xml --- old/kosmindoormap-25.04.2/src/app/org.kde.kosmindoormap.appdata.xml 2025-06-02 23:38:17.000000000 +0200 +++ new/kosmindoormap-25.04.3/src/app/org.kde.kosmindoormap.appdata.xml 2025-06-30 18:48:48.000000000 +0200 @@ -117,6 +117,7 @@ </provides> <launchable type="desktop-id">org.kde.kosmindoormap.desktop</launchable> <releases> + <release version="25.04.3" date="2025-07-03"/> <release version="25.04.2" date="2025-06-05"/> <release version="25.04.1" date="2025-05-08"/> <release version="25.04.0" date="2025-04-17"/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kosmindoormap-25.04.2/src/map/content/platformfinder.cpp new/kosmindoormap-25.04.3/src/map/content/platformfinder.cpp --- old/kosmindoormap-25.04.2/src/map/content/platformfinder.cpp 2025-06-02 23:38:17.000000000 +0200 +++ new/kosmindoormap-25.04.3/src/map/content/platformfinder.cpp 2025-06-30 18:48:48.000000000 +0200 @@ -48,9 +48,25 @@ continue; } + // free floating section signs + const auto elemPt = e.tagValue(m_tagKeys.public_transport); + if (elemPt == "platform_section_sign") { + const auto platformRef = e.tagValue(m_tagKeys.platform_ref); + const auto ref = e.tagValue("ref"); + if (!platformRef.isEmpty() && !ref.isEmpty()) { + Platform p; + p.setLevel(levelForPlatform((*it).first, e)); + p.setName(QString::fromUtf8(platformRef)); + PlatformSection section; + section.setName(QString::fromUtf8(ref)); + section.setPosition(e); + p.setSections({section}); + m_floatingSections.push_back(std::move(p)); + } + } + // non-standard free-floating section signs - const auto platformRef = e.tagValue(m_tagKeys.platform_colon_ref); - if (!platformRef.isEmpty() && e.tagValue("pole") == "landmark_sign") { + if (const auto platformRef = e.tagValue(m_tagKeys.platform_colon_ref); !platformRef.isEmpty() && e.tagValue("pole") == "landmark_sign") { const auto names = QString::fromUtf8(platformRef).split(QLatin1Char(';')); for (const auto &name : names) { Platform p; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kosmindoormap-25.04.2/src/map/loader/levelparser.cpp new/kosmindoormap-25.04.3/src/map/loader/levelparser.cpp --- old/kosmindoormap-25.04.2/src/map/loader/levelparser.cpp 2025-06-02 23:38:17.000000000 +0200 +++ new/kosmindoormap-25.04.3/src/map/loader/levelparser.cpp 2025-06-30 18:48:48.000000000 +0200 @@ -27,9 +27,15 @@ for (int i = 0; i < level.size(); ++i) { auto &c = level[i]; - if (c == ',') { // fix decimal separator errors + if (c == ',') { // fix separator errors qCDebug(Log) << "syntax error in level tag:" << level << e.url(); - c = '.'; + // we assume ',' is meant as a decimal separator, as long as that's plausible + // TODO: multiple consecutive commas should also be treated as ; probably? + if (i < level.size() - 1 && !std::isdigit(static_cast<unsigned char>(level[i+1]))) { + c = ';'; + } else { + c = '.'; + } } if (std::isdigit(static_cast<unsigned char>(c)) || c == '.') { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kosmindoormap-25.04.2/src/map/style/mapcssstyle.cpp new/kosmindoormap-25.04.3/src/map/style/mapcssstyle.cpp --- old/kosmindoormap-25.04.2/src/map/style/mapcssstyle.cpp 2025-06-02 23:38:17.000000000 +0200 +++ new/kosmindoormap-25.04.3/src/map/style/mapcssstyle.cpp 2025-06-30 18:48:48.000000000 +0200 @@ -22,6 +22,7 @@ // - keep value lists alphabetically sorted // - follow rules linked on https://wiki.openstreetmap.org/wiki/Area static constexpr inline const char* way_rule_highway_values[] = { + "elevator", "platform", "rest_area", "services" @@ -54,6 +55,8 @@ MapCSSStylePrivate::MapCSSStylePrivate() : m_wayTypeRules({ { OSM::TagKey{}, "building", MapCSSObjectType::Area, {}}, + { OSM::TagKey{}, "building:levels", MapCSSObjectType::Area, {}}, + { OSM::TagKey{}, "building:part", MapCSSObjectType::Area, {}}, { OSM::TagKey{}, "highway", MapCSSObjectType::Area, std::span<const char* const>{way_rule_highway_values}}, { OSM::TagKey{}, "natural", MapCSSObjectType::Area, std::span<const char* const>{way_rule_natural_values}}, }) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kosmindoormap-25.04.2/src/map/style/mapcssstyle_p.h new/kosmindoormap-25.04.3/src/map/style/mapcssstyle_p.h --- old/kosmindoormap-25.04.2/src/map/style/mapcssstyle_p.h 2025-06-02 23:38:17.000000000 +0200 +++ new/kosmindoormap-25.04.3/src/map/style/mapcssstyle_p.h 2025-06-30 18:48:48.000000000 +0200 @@ -43,7 +43,7 @@ MapCSSObjectType type; std::span<const char* const> values; }; - std::array<way_type_rule_t, 3> m_wayTypeRules; + std::array<way_type_rule_t, 5> m_wayTypeRules; inline static MapCSSStylePrivate* get(MapCSSStyle *style) { return style->d.get(); } };