Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gpxsee for openSUSE:Factory checked in at 2025-04-24 17:25:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gpxsee (Old) and /work/SRC/openSUSE:Factory/.gpxsee.new.30101 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gpxsee" Thu Apr 24 17:25:48 2025 rev:141 rq:1272289 version:13.41 Changes: -------- --- /work/SRC/openSUSE:Factory/gpxsee/gpxsee.changes 2025-04-22 17:28:59.060849353 +0200 +++ /work/SRC/openSUSE:Factory/.gpxsee.new.30101/gpxsee.changes 2025-04-24 17:27:59.179560362 +0200 @@ -1,0 +2,13 @@ +Thu Apr 24 06:30:36 CEST 2025 - tu...@cbox.cz + +- Update to version 13.41 + * Fixed switched ENC maps units multipliers (broken in 13.40) + +------------------------------------------------------------------- +Wed Apr 23 22:48:04 CEST 2025 - tu...@cbox.cz + +- Update to version 13.40 + * Fixed Vakaros VKX MIME magic detection. + * Improved ENC maps style/rendering. + +------------------------------------------------------------------- Old: ---- GPXSee-13.39.tar.gz New: ---- GPXSee-13.41.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gpxsee.spec ++++++ --- /var/tmp/diff_new_pack.UQVsUf/_old 2025-04-24 17:27:59.767585041 +0200 +++ /var/tmp/diff_new_pack.UQVsUf/_new 2025-04-24 17:27:59.771585209 +0200 @@ -19,7 +19,7 @@ # See also http://en.opensuse.org/openSUSE:Specfile_guidelines Name: gpxsee -Version: 13.39 +Version: 13.41 Release: 1 Summary: GPS log file visualization and analysis tool License: GPL-3.0-only ++++++ GPXSee-13.39.tar.gz -> GPXSee-13.41.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GPXSee-13.39/.appveyor.yml new/GPXSee-13.41/.appveyor.yml --- old/GPXSee-13.39/.appveyor.yml 2025-04-17 20:58:27.000000000 +0200 +++ new/GPXSee-13.41/.appveyor.yml 2025-04-24 06:21:13.000000000 +0200 @@ -1,4 +1,4 @@ -version: 13.39.{build} +version: 13.41.{build} configuration: - Release diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GPXSee-13.39/gpxsee.pro new/GPXSee-13.41/gpxsee.pro --- old/GPXSee-13.39/gpxsee.pro 2025-04-17 20:58:27.000000000 +0200 +++ new/GPXSee-13.41/gpxsee.pro 2025-04-24 06:21:13.000000000 +0200 @@ -3,7 +3,7 @@ } else { TARGET = GPXSee } -VERSION = 13.39 +VERSION = 13.41 QT += core \ gui \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GPXSee-13.39/gpxsee.qrc new/GPXSee-13.41/gpxsee.qrc --- old/GPXSee-13.39/gpxsee.qrc 2025-04-17 20:58:27.000000000 +0200 +++ new/GPXSee-13.41/gpxsee.qrc 2025-04-24 06:21:13.000000000 +0200 @@ -43,6 +43,7 @@ <file alias="casino-11.svg">icons/map/POI/casino-11.svg</file> <file alias="castle-11.svg">icons/map/POI/castle-11.svg</file> <file alias="cemetery-11.svg">icons/map/POI/cemetery-11.svg</file> + <file alias="charging-station-11.svg">icons/map/POI/charging-station-11.svg</file> <file alias="cinema-11.svg">icons/map/POI/cinema-11.svg</file> <file alias="clothing-store-11.svg">icons/map/POI/clothing-store-11.svg</file> <file alias="college-11.svg">icons/map/POI/college-11.svg</file> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GPXSee-13.39/icons/map/POI/charging-station-11.svg new/GPXSee-13.41/icons/map/POI/charging-station-11.svg --- old/GPXSee-13.39/icons/map/POI/charging-station-11.svg 1970-01-01 01:00:00.000000000 +0100 +++ new/GPXSee-13.41/icons/map/POI/charging-station-11.svg 2025-04-24 06:21:13.000000000 +0200 @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg version="1.1" id="charging-station-11" xmlns="http://www.w3.org/2000/svg" width="11px" height="11px" viewBox="0 0 11 11"> + <path d="M9.5,3H9V1.5C9,1.2239,8.7761,1,8.5,1S8,1.2239,8,1.5V3c0,0.5523,0.4477,1,1,1v4.25C9,8.3881,8.8881,8.5,8.75,8.5
	S8.5,8.3881,8.5,8.25V6.5C8.5,5.6716,7.8284,5,7,5V2c0-0.5523-0.4477-1-1-1H2C1.4477,1,1,1.4477,1,2v7c0,0.5523,0.4477,1,1,1h4
	c0.5523,0,1-0.4477,1-1V6c0.2761,0,0.5,0.2239,0.5,0.5v1.75c0,0.6904,0.5596,1.25,1.25,1.25S10,8.9404,10,8.25V3.5
	C10,3.2239,9.7761,3,9.5,3z M3.5,8.75H3L4,6H1.75L4.5,2.25H5L4,5h2.25L3.5,8.75z"/> +</svg> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GPXSee-13.39/pkg/linux/gpxsee.xml new/GPXSee-13.41/pkg/linux/gpxsee.xml --- old/GPXSee-13.39/pkg/linux/gpxsee.xml 2025-04-17 20:58:27.000000000 +0200 +++ new/GPXSee-13.41/pkg/linux/gpxsee.xml 2025-04-24 06:21:13.000000000 +0200 @@ -210,7 +210,12 @@ <sub-class-of type="application/octet-stream"/> <generic-icon name="application/octet-stream"/> <magic> - <match type="byte" offset="0" value="0xFF"/> + <match type="big16" offset="0" value="0xFF00"/> + <match type="big16" offset="0" value="0xFF01"/> + <match type="big16" offset="0" value="0xFF02"/> + <match type="big16" offset="0" value="0xFF03"/> + <match type="big16" offset="0" value="0xFF04"/> + <match type="big16" offset="0" value="0xFF05"/> </magic> <glob pattern="*.vkx"/> </mime-type> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GPXSee-13.39/pkg/windows/gpxsee64.nsi new/GPXSee-13.41/pkg/windows/gpxsee64.nsi --- old/GPXSee-13.39/pkg/windows/gpxsee64.nsi 2025-04-17 20:58:27.000000000 +0200 +++ new/GPXSee-13.41/pkg/windows/gpxsee64.nsi 2025-04-24 06:21:13.000000000 +0200 @@ -49,7 +49,7 @@ ; The name of the installer Name "GPXSee" ; Program version -!define VERSION "13.39" +!define VERSION "13.41" ; The file to write OutFile "GPXSee-${VERSION}_x64.exe" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GPXSee-13.39/src/map/ENC/attributes.h new/GPXSee-13.41/src/map/ENC/attributes.h --- old/GPXSee-13.39/src/map/ENC/attributes.h 2025-04-17 20:58:27.000000000 +0200 +++ new/GPXSee-13.41/src/map/ENC/attributes.h 2025-04-24 06:21:13.000000000 +0200 @@ -43,6 +43,7 @@ #define I_RDOCAL 17017 #define I_WTWDIS 17064 #define I_CATBRT 17066 +#define I_CATBUN 17067 #define I_HUNITS 17103 #endif // ENC_ATTRIBUTES_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GPXSee-13.39/src/map/ENC/iso8211.cpp new/GPXSee-13.41/src/map/ENC/iso8211.cpp --- old/GPXSee-13.39/src/map/ENC/iso8211.cpp 2025-04-17 20:58:27.000000000 +0200 +++ new/GPXSee-13.41/src/map/ENC/iso8211.cpp 2025-04-24 06:21:13.000000000 +0200 @@ -22,52 +22,6 @@ char FieldTagSize; }; - -const QVariant *ISO8211::Field::data(quint32 name, int idx) const -{ - const QVector<QVariant> &v = _data.at(idx); - - for (int i = 0; i < _subFields->size(); i++) - if (_subFields->at(i) == name) - return &v.at(i); - - return 0; -} - -bool ISO8211::Field::subfield(quint32 name, int *val, int idx) const -{ - bool ok; - - const QVariant *v = data(name, idx); - if (!v) - return false; - *val = v->toInt(&ok); - - return ok; -} - -bool ISO8211::Field::subfield(quint32 name, uint *val, int idx) const -{ - bool ok; - - const QVariant *v = data(name, idx); - if (!v) - return false; - *val = v->toUInt(&ok); - - return ok; -} - -bool ISO8211::Field::subfield(quint32 name, QByteArray *val, int idx) const -{ - const QVariant *v = data(name, idx); - if (!v) - return false; - *val = v->toByteArray(); - - return true; -} - ISO8211::SubFieldDefinition ISO8211::fieldType(const QString &str, int cnt) { if (str == "A" || str == "I" || str == "R") @@ -338,7 +292,7 @@ return false; } - record[i] = Field(def.tag, it->tags(), data); + record[i] = Field(def.tag, data); } return true; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GPXSee-13.39/src/map/ENC/iso8211.h new/GPXSee-13.41/src/map/ENC/iso8211.h --- old/GPXSee-13.39/src/map/ENC/iso8211.h 2025-04-17 20:58:27.000000000 +0200 +++ new/GPXSee-13.41/src/map/ENC/iso8211.h 2025-04-24 06:21:13.000000000 +0200 @@ -15,22 +15,14 @@ class Field { public: - Field() : _subFields(0) {} - Field(quint32 tag, const QVector<quint32> &subFields, const Data &data) - : _tag(tag), _subFields(&subFields), _data(data) {} + Field() : _tag(0) {} + Field(quint32 tag, const Data &data) : _tag(tag), _data(data) {} quint32 tag() const {return _tag;} const Data &data() const {return _data;} - bool subfield(quint32 name, int *val, int idx = 0) const; - bool subfield(quint32 name, uint *val, int idx = 0) const; - bool subfield(quint32 name, QByteArray *val, int idx = 0) const; - private: - const QVariant *data(quint32 name, int idx = 0) const; - quint32 _tag; - const QVector<quint32> *_subFields; Data _data; }; @@ -39,7 +31,6 @@ ISO8211(const QString &path) : _file(path) {} bool readDDR(); bool readRecord(Record &record); - const QString &errorString() const {return _errorString;} static const Field *field(const Record &record, quint32 name); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GPXSee-13.39/src/map/ENC/mapdata.cpp new/GPXSee-13.41/src/map/ENC/mapdata.cpp --- old/GPXSee-13.39/src/map/ENC/mapdata.cpp 2025-04-17 20:58:27.000000000 +0200 +++ new/GPXSee-13.41/src/map/ENC/mapdata.cpp 2025-04-24 06:21:13.000000000 +0200 @@ -15,7 +15,6 @@ #define PRIM_L 2 #define PRIM_A 3 -constexpr quint32 RCID = ISO8211::NAME("RCID"); constexpr quint32 SG2D = ISO8211::NAME("SG2D"); constexpr quint32 SG3D = ISO8211::NAME("SG3D"); constexpr quint32 FSPT = ISO8211::NAME("FSPT"); @@ -24,9 +23,6 @@ constexpr quint32 VRID = ISO8211::NAME("VRID"); constexpr quint32 FRID = ISO8211::NAME("FRID"); constexpr quint32 DSPM = ISO8211::NAME("DSPM"); -constexpr quint32 COMF = ISO8211::NAME("COMF"); -constexpr quint32 SOMF = ISO8211::NAME("SOMF"); -constexpr quint32 HUNI = ISO8211::NAME("HUNI"); static QMap<uint,uint> orderMapInit() { @@ -74,10 +70,10 @@ map.insert(TYPE(I_TRNBSN), 32); map.insert(TYPE(HRBFAC), 33); map.insert(TYPE(I_HRBFAC), 33); - map.insert(TYPE(PILPNT), 34); - map.insert(TYPE(ACHBRT), 35); - map.insert(TYPE(I_ACHBRT), 35); - map.insert(TYPE(RADRFL), 36); + map.insert(TYPE(RADRFL), 34); + map.insert(TYPE(PILPNT), 35); + map.insert(TYPE(ACHBRT), 36); + map.insert(TYPE(I_ACHBRT), 36); map.insert(TYPE(CRANES), 37); map.insert(TYPE(I_CRANES), 37); map.insert(TYPE(I_WTWGAG), 38); @@ -85,9 +81,10 @@ map.insert(TYPE(SLCONS), 40); map.insert(TYPE(LNDMRK), 41); map.insert(TYPE(SILTNK), 42); - map.insert(TYPE(LNDELV), 43); - map.insert(TYPE(SMCFAC), 44); - map.insert(TYPE(BUISGL), 45); + map.insert(TYPE(I_BUNSTA), 43); + map.insert(TYPE(LNDELV), 44); + map.insert(TYPE(SMCFAC), 45); + map.insert(TYPE(BUISGL), 46); map.insert(TYPE(I_DISMAR), 0xFFFFFFFE); map.insert(TYPE(SOUNDG), 0xFFFFFFFF); @@ -106,8 +103,7 @@ static void warning(const ISO8211::Field &frid, uint prim) { - uint rcid = 0xFFFFFFFF; - frid.subfield(RCID, &rcid); + uint rcid = frid.data().at(0).at(1).toUInt(); switch (prim) { case PRIM_P: @@ -205,9 +201,12 @@ || type == SUBTYPE(RESARE, 7) || type == SUBTYPE(I_RESARE, 7) || type == SUBTYPE(RESARE, 9) || type == SUBTYPE(I_RESARE, 9) || type == SUBTYPE(RESARE, 12) || type == SUBTYPE(I_RESARE, 12) + || type == SUBTYPE(RESARE, 14) || type == SUBTYPE(I_RESARE, 14) || type == SUBTYPE(RESARE, 17) || type == SUBTYPE(I_RESARE, 17) || type == SUBTYPE(RESARE, 22) || type == SUBTYPE(I_RESARE, 22) - || type == SUBTYPE(RESARE, 23) || type == SUBTYPE(I_RESARE, 23)) + || type == SUBTYPE(RESARE, 23) || type == SUBTYPE(I_RESARE, 23) + || type == SUBTYPE(RESARE, 25) || type == SUBTYPE(I_RESARE, 25) + || type == SUBTYPE(RESARE, 26) || type == SUBTYPE(I_RESARE, 26)) points->append(MapData::Point(baseType, polygon->bounds().center(), polygon->attributes(), polygon->HUNI(), true)); @@ -378,6 +377,8 @@ subtype = I_CATACH; else if (type == MARKUL) subtype = CATMFA; + else if (type == I_BUNSTA) + subtype = I_CATBUN; QList<QByteArray> list(_attr.value(subtype).split(',')); std::sort(list.begin(), list.end()); @@ -762,7 +763,7 @@ bool MapData::processRecord(const ISO8211::Record &record, QVector<ISO8211::Record> &fe, RecordMap &vi, RecordMap &vc, RecordMap &ve, - RecordMap &vf, uint &comf, uint &somf, uint &huni) + uint &comf, uint &somf, uint &huni) { if (record.size() < 2) return false; @@ -771,10 +772,14 @@ quint32 tag = f.tag(); if (tag == VRID) { + bool nmok, idok; + if (f.data().at(0).size() < 2) return false; - int rcnm = f.data().at(0).at(0).toInt(); - uint rcid = f.data().at(0).at(1).toUInt(); + int rcnm = f.data().at(0).at(0).toInt(&nmok); + uint rcid = f.data().at(0).at(1).toUInt(&idok); + if (!(nmok && idok)) + return false; switch (rcnm) { case RCNM_VI: @@ -787,18 +792,23 @@ ve.insert(rcid, record); break; case RCNM_VF: - vf.insert(rcid, record); - break; + qWarning("Full topology/faces not supported"); + return false; default: return false; } } else if (tag == FRID) { fe.append(record); } else if (tag == DSPM) { - if (!(f.subfield(COMF, &comf) && f.subfield(SOMF, &somf))) - return false; - if (!f.subfield(HUNI, &huni)) + bool cok, sok, hok; + + if (f.data().at(0).size() < 12) return false; + comf = f.data().at(0).at(10).toUInt(&cok); + somf = f.data().at(0).at(11).toUInt(&sok); + huni = f.data().at(0).at(7).toUInt(&hok); + + return (cok && sok && hok); } return true; @@ -806,7 +816,7 @@ MapData::MapData(const QString &path) { - RecordMap vi, vc, ve, vf; + RecordMap vi, vc, ve; QVector<ISO8211::Record> fe; ISO8211 ddf(path); ISO8211::Record record; @@ -820,17 +830,17 @@ if (!ddf.readDDR()) return; while (ddf.readRecord(record)) - if (!processRecord(record, fe, vi, vc, ve, vf, comf, somf, huni)) + if (!processRecord(record, fe, vi, vc, ve, comf, somf, huni)) qWarning("Invalid S-57 record"); for (int i = 0; i < fe.size(); i++) { const ISO8211::Record &r = fe.at(i); - const ISO8211::Field &f = r.at(1); + const ISO8211::Field &frid = r.at(1); - if (f.data().at(0).size() < 5) + if (frid.data().at(0).size() < 5) continue; - prim = f.data().at(0).at(2).toUInt(); - objl = f.data().at(0).at(4).toUInt(); + prim = frid.data().at(0).at(2).toUInt(); + objl = frid.data().at(0).at(4).toUInt(); switch (prim) { case PRIM_P: @@ -846,7 +856,7 @@ pointBounds(point->pos(), min, max); _points.Insert(min, max, point); } else - warning(f, prim); + warning(frid, prim); } break; case PRIM_L: @@ -854,14 +864,14 @@ rectcBounds(line->bounds(), min, max); _lines.Insert(min, max, line); } else - warning(f, prim); + warning(frid, prim); break; case PRIM_A: if ((poly = polyObject(r, vc, ve, comf, objl, huni))) { rectcBounds(poly->bounds(), min, max); _areas.Insert(min, max, poly); } else - warning(f, prim); + warning(frid, prim); break; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GPXSee-13.39/src/map/ENC/mapdata.h new/GPXSee-13.41/src/map/ENC/mapdata.h --- old/GPXSee-13.39/src/map/ENC/mapdata.h 2025-04-17 20:58:27.000000000 +0200 +++ new/GPXSee-13.41/src/map/ENC/mapdata.h 2025-04-24 06:21:13.000000000 +0200 @@ -53,7 +53,7 @@ static bool processRecord(const ISO8211::Record &record, QVector<ISO8211::Record> &fe, RecordMap &vi, RecordMap &vc, RecordMap &ve, - RecordMap &vf, uint &comf, uint &somf, uint &huni); + uint &comf, uint &somf, uint &huni); PolygonTree _areas; LineTree _lines; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GPXSee-13.39/src/map/ENC/objects.h new/GPXSee-13.41/src/map/ENC/objects.h --- old/GPXSee-13.39/src/map/ENC/objects.h 2025-04-17 20:58:27.000000000 +0200 +++ new/GPXSee-13.41/src/map/ENC/objects.h 2025-04-24 06:21:13.000000000 +0200 @@ -122,6 +122,7 @@ #define I_GATCON 17031 #define I_SLCONS 17032 #define I_WTWAXS 17051 +#define I_BUNSTA 17054 #define I_TERMNL 17064 #define I_TRNBSN 17065 #define I_WTWGAG 17067 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GPXSee-13.39/src/map/ENC/style.cpp new/GPXSee-13.41/src/map/ENC/style.cpp --- old/GPXSee-13.39/src/map/ENC/style.cpp 2025-04-17 20:58:27.000000000 +0200 +++ new/GPXSee-13.41/src/map/ENC/style.cpp 2025-04-24 06:21:13.000000000 +0200 @@ -78,17 +78,24 @@ _polygons[SUBTYPE(RESARE, 9)] = Polygon(QBrush(QColor(0xff, 0x00, 0x00), Qt::BDiagPattern)); _polygons[SUBTYPE(RESARE, 12)] = Polygon(QImage(":/marine/safety-zone-line.png")); + _polygons[SUBTYPE(RESARE, 14)] = Polygon(QImage(":/marine/safety-zone-line.png")); _polygons[SUBTYPE(RESARE, 17)] = Polygon(QImage(":/marine/entry-prohibited-line.png")); _polygons[SUBTYPE(RESARE, 22)] = Polygon(QImage(":/marine/sanctuary-line.png")); _polygons[SUBTYPE(RESARE, 23)] = Polygon(QImage(":/marine/nature-reserve-line.png")); + _polygons[SUBTYPE(RESARE, 25)] = Polygon(Qt::NoBrush, + QPen(QColor(0xeb, 0x49, 0xeb), 1, Qt::DashLine)); + _polygons[SUBTYPE(RESARE, 26)] = Polygon(QImage(":/marine/safety-zone-line.png")); _polygons[SUBTYPE(I_RESARE, 1)] = _polygons[SUBTYPE(RESARE, 1)]; _polygons[SUBTYPE(I_RESARE, 2)] = _polygons[SUBTYPE(RESARE, 2)]; _polygons[SUBTYPE(I_RESARE, 4)] = _polygons[SUBTYPE(RESARE, 4)]; _polygons[SUBTYPE(I_RESARE, 9)] = _polygons[SUBTYPE(RESARE, 9)]; _polygons[SUBTYPE(I_RESARE, 12)] = _polygons[SUBTYPE(RESARE, 12)]; + _polygons[SUBTYPE(I_RESARE, 14)] = _polygons[SUBTYPE(RESARE, 14)]; _polygons[SUBTYPE(I_RESARE, 17)] = _polygons[SUBTYPE(RESARE, 17)]; _polygons[SUBTYPE(I_RESARE, 22)] = _polygons[SUBTYPE(RESARE, 22)]; _polygons[SUBTYPE(I_RESARE, 23)] = _polygons[SUBTYPE(RESARE, 23)]; + _polygons[SUBTYPE(I_RESARE, 25)] = _polygons[SUBTYPE(RESARE, 25)]; + _polygons[SUBTYPE(I_RESARE, 26)] = _polygons[SUBTYPE(RESARE, 26)]; _polygons[SUBTYPE(ACHARE, 1)] = Polygon(QImage(":/marine/anchor-line.png")); _polygons[SUBTYPE(ACHARE, 2)] = _polygons[SUBTYPE(ACHARE, 1)]; _polygons[SUBTYPE(ACHARE, 3)] = _polygons[SUBTYPE(ACHARE, 1)]; @@ -177,11 +184,12 @@ << SUBTYPE(I_RESARE, 5) << SUBTYPE(RESARE, 6) << SUBTYPE(I_RESARE, 6) << SUBTYPE(RESARE, 7) << SUBTYPE(I_RESARE, 7) << SUBTYPE(RESARE, 9) << SUBTYPE(I_RESARE, 9) << SUBTYPE(RESARE, 12) << SUBTYPE(I_RESARE, 12) - << SUBTYPE(RESARE, 17) << SUBTYPE(I_RESARE, 17) << SUBTYPE(RESARE, 22) - << SUBTYPE(I_RESARE, 22) << SUBTYPE(RESARE, 23) << SUBTYPE(I_RESARE, 23) - << SUBTYPE(RESARE, 1) << TYPE(CBLARE) << TYPE(PIPARE) << TYPE(PRCARE) - << TYPE(I_TRNBSN) << SUBTYPE(MARKUL, 0) << SUBTYPE(MARKUL, 3) - << TYPE(CONZNE); + << SUBTYPE(RESARE, 14) << SUBTYPE(I_RESARE, 14) << SUBTYPE(RESARE, 17) + << SUBTYPE(I_RESARE, 17) << SUBTYPE(RESARE, 22) << SUBTYPE(I_RESARE, 22) + << SUBTYPE(RESARE, 23) << SUBTYPE(I_RESARE, 23) << SUBTYPE(RESARE, 25) + << SUBTYPE(I_RESARE, 25) << SUBTYPE(RESARE, 26) << SUBTYPE(I_RESARE, 26) + << TYPE(CBLARE) << TYPE(PIPARE) << TYPE(PRCARE) << TYPE(I_TRNBSN) + << SUBTYPE(MARKUL, 0) << SUBTYPE(MARKUL, 3) << TYPE(CONZNE); } void Style::lineStyle(qreal ratio) @@ -420,9 +428,12 @@ _points[SUBTYPE(RESARE, 7)] = _points[SUBTYPE(RESARE, 4)]; _points[SUBTYPE(RESARE, 9)] = _points[SUBTYPE(RESARE, 1)]; _points[SUBTYPE(RESARE, 12)] = _points[SUBTYPE(RESARE, 1)]; + _points[SUBTYPE(RESARE, 14)] = _points[SUBTYPE(RESARE, 1)]; _points[SUBTYPE(RESARE, 17)] = _points[SUBTYPE(RESARE, 1)]; _points[SUBTYPE(RESARE, 22)] = _points[SUBTYPE(RESARE, 4)]; _points[SUBTYPE(RESARE, 23)] = _points[SUBTYPE(RESARE, 4)]; + _points[SUBTYPE(RESARE, 25)] = _points[SUBTYPE(RESARE, 1)]; + _points[SUBTYPE(RESARE, 26)] = _points[SUBTYPE(RESARE, 1)]; _points[SUBTYPE(I_RESARE, 1)] = _points[SUBTYPE(RESARE, 1)]; _points[SUBTYPE(I_RESARE, 2)] = _points[SUBTYPE(RESARE, 2)]; _points[SUBTYPE(I_RESARE, 4)] = _points[SUBTYPE(RESARE, 4)]; @@ -431,9 +442,19 @@ _points[SUBTYPE(I_RESARE, 7)] = _points[SUBTYPE(RESARE, 7)]; _points[SUBTYPE(I_RESARE, 9)] = _points[SUBTYPE(RESARE, 9)]; _points[SUBTYPE(I_RESARE, 12)] = _points[SUBTYPE(RESARE, 12)]; + _points[SUBTYPE(I_RESARE, 14)] = _points[SUBTYPE(RESARE, 14)]; _points[SUBTYPE(I_RESARE, 17)] = _points[SUBTYPE(RESARE, 17)]; _points[SUBTYPE(I_RESARE, 22)] = _points[SUBTYPE(RESARE, 22)]; _points[SUBTYPE(I_RESARE, 23)] = _points[SUBTYPE(RESARE, 23)]; + _points[SUBTYPE(I_RESARE, 25)] = _points[SUBTYPE(RESARE, 25)]; + _points[SUBTYPE(I_RESARE, 26)] = _points[SUBTYPE(RESARE, 26)]; + + _points[SUBTYPE(I_BUNSTA, 1)] = Point(svg2img(":/POI/fuel-11.svg", ratio), + Small); + _points[SUBTYPE(I_BUNSTA, 2)] = Point(svg2img(":/POI/drinking-water-11.svg", + ratio), Small); + _points[SUBTYPE(I_BUNSTA, 4)] = Point(svg2img(":/POI/charging-station-11.svg", + ratio), Small); _points[SUBTYPE(SMCFAC, 7)] = Point(svg2img(":/POI/restaurant-11.svg", ratio), Small); @@ -443,6 +464,8 @@ ratio), Small); _points[SUBTYPE(SMCFAC, 13)] = Point(svg2img(":/POI/fuel-11.svg", ratio), Small); + _points[SUBTYPE(SMCFAC, 14)] = Point(svg2img(":/POI/charging-station-11.svg", + ratio), Small); _points[SUBTYPE(SMCFAC, 18)] = Point(svg2img(":/POI/toilet-11.svg", ratio), Small); _points[SUBTYPE(SMCFAC, 20)] = Point(svg2img(":/POI/telephone-11.svg", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GPXSee-13.39/src/map/encatlas.cpp new/GPXSee-13.41/src/map/encatlas.cpp --- old/GPXSee-13.39/src/map/encatlas.cpp 2025-04-17 20:58:27.000000000 +0200 +++ new/GPXSee-13.41/src/map/encatlas.cpp 2025-04-24 06:21:13.000000000 +0200 @@ -13,12 +13,6 @@ #define TILE_SIZE 512 constexpr quint32 CATD = ISO8211::NAME("CATD"); -constexpr quint32 IMPL = ISO8211::NAME("IMPL"); -constexpr quint32 F1LE = ISO8211::NAME("FILE"); -constexpr quint32 SLAT = ISO8211::NAME("SLAT"); -constexpr quint32 WLON = ISO8211::NAME("WLON"); -constexpr quint32 NLAT = ISO8211::NAME("NLAT"); -constexpr quint32 ELON = ISO8211::NAME("ELON"); Range ENCAtlas::zooms(IntendedUsage usage) { @@ -67,27 +61,19 @@ if (record.size() < 2) return false; - const ENC::ISO8211::Field &f = record.at(1); + const ENC::ISO8211::Field &field = record.at(1); - if (f.tag() == CATD) { - QByteArray impl; - - if (!f.subfield(IMPL, &impl)) - return false; - if (!f.subfield(F1LE, &file)) + if (field.tag() == CATD) { + if (field.data().at(0).size() < 10) return false; + QByteArray impl = field.data().at(0).at(5).toByteArray(); + file = field.data().at(0).at(2).toByteArray(); if (impl == "BIN" && file.endsWith("000")) { - QByteArray slat, wlon, nlat, elon; - - if (!f.subfield(SLAT, &slat)) - return false; - if (!f.subfield(WLON, &wlon)) - return false; - if (!f.subfield(NLAT, &nlat)) - return false; - if (!f.subfield(ELON, &elon)) - return false; + QByteArray slat = field.data().at(0).at(6).toByteArray(); + QByteArray wlon = field.data().at(0).at(7).toByteArray(); + QByteArray nlat = field.data().at(0).at(8).toByteArray(); + QByteArray elon = field.data().at(0).at(9).toByteArray(); bool ok1, ok2, ok3, ok4; bounds = RectC(Coordinates(wlon.toDouble(&ok1), nlat.toDouble(&ok2)), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GPXSee-13.39/src/map/encmap.cpp new/GPXSee-13.41/src/map/encmap.cpp --- old/GPXSee-13.39/src/map/encmap.cpp 2025-04-17 20:58:27.000000000 +0200 +++ new/GPXSee-13.41/src/map/encmap.cpp 2025-04-24 06:21:13.000000000 +0200 @@ -19,9 +19,7 @@ constexpr quint32 SG3D = ISO8211::NAME("SG3D"); constexpr quint32 VRID = ISO8211::NAME("VRID"); constexpr quint32 DSID = ISO8211::NAME("DSID"); -constexpr quint32 DSNM = ISO8211::NAME("DSNM"); constexpr quint32 DSPM = ISO8211::NAME("DSPM"); -constexpr quint32 COMF = ISO8211::NAME("COMF"); static Range zooms(const RectC &bounds) { @@ -116,10 +114,15 @@ if (tag == VRID) { rv.append(record); } else if (tag == DSID) { - if (!f.subfield(DSNM, &dsnm)) + if (f.data().at(0).size() < 5) return false; + dsnm = f.data().at(0).at(4).toByteArray(); } else if (tag == DSPM) { - if (!f.subfield(COMF, &comf)) + bool ok; + if (f.data().at(0).size() < 11) + return false; + comf = f.data().at(0).at(10).toUInt(&ok); + if (!ok) return false; } ++++++ PKGBUILD ++++++ --- /var/tmp/diff_new_pack.UQVsUf/_old 2025-04-24 17:28:00.271606194 +0200 +++ /var/tmp/diff_new_pack.UQVsUf/_new 2025-04-24 17:28:00.275606362 +0200 @@ -1,5 +1,5 @@ pkgname=gpxsee -pkgver=13.39 +pkgver=13.41 pkgrel=1 pkgdesc='GPS log files visualizing and analyzing tool' arch=('i686' 'x86_64') ++++++ debian.changelog ++++++ --- /var/tmp/diff_new_pack.UQVsUf/_old 2025-04-24 17:28:00.307607705 +0200 +++ /var/tmp/diff_new_pack.UQVsUf/_new 2025-04-24 17:28:00.311607873 +0200 @@ -1,3 +1,16 @@ +gpxsee (13.41) stable; urgency=low + + * Fixed switched ENC maps units multipliers (broken in 13.40). + + -- Martin Tuma <tu...@cbox.cz> Thu, 24 Apr 2025 06:32:21 +0200 + +gpxsee (13.40) stable; urgency=high + + * Fixed Vakaros VKX MIME magic detection. + * Improved ENC maps style/rendering. + + -- Martin Tuma <tu...@cbox.cz> Wed, 23 Apr 2025 22:52:03 +0200 + gpxsee (13.39) stable; urgency=low * Added support for Vakaros VKX files. ++++++ gpxsee.dsc ++++++ --- /var/tmp/diff_new_pack.UQVsUf/_old 2025-04-24 17:28:00.395611398 +0200 +++ /var/tmp/diff_new_pack.UQVsUf/_new 2025-04-24 17:28:00.399611567 +0200 @@ -1,10 +1,10 @@ Format: 1.0 Source: gpxsee -Version: 13.39-1 +Version: 13.41-1 Binary: gpxsee Maintainer: Martin Tuma <tu...@cbox.cz> Architecture: any Build-Depends: debhelper (>= 9), qtbase5-dev, qtbase5-private-dev, qtbase5-dev-tools, qt5-qmake, qttools5-dev-tools, libqt5opengl5-dev, qtpositioning5-dev, libqt5svg5-dev, libqt5serialport5-dev Files: - 00000000000000000000000000000000 0 GPXSee-13.39.tar.gz + 00000000000000000000000000000000 0 GPXSee-13.41.tar.gz