Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gpxsee for openSUSE:Factory checked 
in at 2023-03-26 20:19:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gpxsee (Old)
 and      /work/SRC/openSUSE:Factory/.gpxsee.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gpxsee"

Sun Mar 26 20:19:55 2023 rev:102 rq:1074407 version:12.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/gpxsee/gpxsee.changes    2023-03-04 
22:44:37.252157397 +0100
+++ /work/SRC/openSUSE:Factory/.gpxsee.new.31432/gpxsee.changes 2023-03-26 
20:19:55.567186572 +0200
@@ -1,0 +2,7 @@
+Sun Mar 26 10:58:32 CEST 2023 - tu...@cbox.cz
+
+- Update to version 12.3
+  * Improved ENC maps rendering.
+  * Minor fixes.
+
+-------------------------------------------------------------------

Old:
----
  GPXSee-12.2.tar.gz

New:
----
  GPXSee-12.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gpxsee.spec ++++++
--- /var/tmp/diff_new_pack.0OD3XM/_old  2023-03-26 20:19:56.219189979 +0200
+++ /var/tmp/diff_new_pack.0OD3XM/_new  2023-03-26 20:19:56.223189999 +0200
@@ -19,7 +19,7 @@
 # See also http://en.opensuse.org/openSUSE:Specfile_guidelines
 
 Name:           gpxsee
-Version:        12.2
+Version:        12.3
 Release:        1
 Summary:        GPS log file visualization and analysis tool
 License:        GPL-3.0-only

++++++ GPXSee-12.2.tar.gz -> GPXSee-12.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/.appveyor.yml 
new/GPXSee-12.3/.appveyor.yml
--- old/GPXSee-12.2/.appveyor.yml       2023-03-04 17:48:51.000000000 +0100
+++ new/GPXSee-12.3/.appveyor.yml       2023-03-25 13:31:15.000000000 +0100
@@ -1,4 +1,4 @@
-version: 12.2.{build}
+version: 12.3.{build}
 
 configuration:
   - Release
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/gpxsee.pro new/GPXSee-12.3/gpxsee.pro
--- old/GPXSee-12.2/gpxsee.pro  2023-03-04 17:48:51.000000000 +0100
+++ new/GPXSee-12.3/gpxsee.pro  2023-03-25 13:31:15.000000000 +0100
@@ -3,7 +3,7 @@
 } else {
     TARGET = GPXSee
 }
-VERSION = 12.2
+VERSION = 12.3
 
 QT += core \
     gui \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/gpxsee.qrc new/GPXSee-12.3/gpxsee.qrc
--- old/GPXSee-12.2/gpxsee.qrc  2023-03-04 17:48:51.000000000 +0100
+++ new/GPXSee-12.3/gpxsee.qrc  2023-03-25 13:31:15.000000000 +0100
@@ -194,6 +194,10 @@
                <file alias="breakers.png">icons/map/marine/breakers.png</file>
                <file 
alias="overfalls.png">icons/map/marine/overfalls.png</file>
                <file 
alias="boarding-place.png">icons/map/marine/boarding-place.png</file>
+               <file alias="light.png">icons/map/marine/light.png</file>
+               <file alias="building.png">icons/map/marine/building.png</file>
+               <file 
alias="fog-signal.png">icons/map/marine/fog-signal.png</file>
+               <file 
alias="construction.png">icons/map/marine/construction.png</file>
        </qresource>
 
        <!-- Mapsforge rendertheme -->
Binary files old/GPXSee-12.2/icons/map/marine/building.png and 
new/GPXSee-12.3/icons/map/marine/building.png differ
Binary files old/GPXSee-12.2/icons/map/marine/construction.png and 
new/GPXSee-12.3/icons/map/marine/construction.png differ
Binary files old/GPXSee-12.2/icons/map/marine/entry-prohibited-line.png and 
new/GPXSee-12.3/icons/map/marine/entry-prohibited-line.png differ
Binary files old/GPXSee-12.2/icons/map/marine/fog-signal.png and 
new/GPXSee-12.3/icons/map/marine/fog-signal.png differ
Binary files old/GPXSee-12.2/icons/map/marine/light.png and 
new/GPXSee-12.3/icons/map/marine/light.png differ
Binary files old/GPXSee-12.2/icons/map/marine/windmotor.png and 
new/GPXSee-12.3/icons/map/marine/windmotor.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/lang/gpxsee_ca.ts 
new/GPXSee-12.3/lang/gpxsee_ca.ts
--- old/GPXSee-12.2/lang/gpxsee_ca.ts   2023-03-04 17:48:51.000000000 +0100
+++ new/GPXSee-12.3/lang/gpxsee_ca.ts   2023-03-25 13:31:15.000000000 +0100
@@ -1020,6 +1020,7 @@
         <translation>
             <numerusform>%n fitxer</numerusform>
             <numerusform>%n fitxers</numerusform>
+            <numerusform>%n fitxers</numerusform>
         </translation>
     </message>
 </context>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/lang/gpxsee_eo.ts 
new/GPXSee-12.3/lang/gpxsee_eo.ts
--- old/GPXSee-12.2/lang/gpxsee_eo.ts   2023-03-04 17:48:51.000000000 +0100
+++ new/GPXSee-12.3/lang/gpxsee_eo.ts   2023-03-25 13:31:15.000000000 +0100
@@ -1912,7 +1912,7 @@
     <message>
         <location filename="../src/GUI/optionsdialog.cpp" line="749"/>
         <source>DEM cache size:</source>
-        <translation type="unfinished"></translation>
+        <translation>DEM-kaŝmemora grandeco:</translation>
     </message>
     <message>
         <location filename="../src/GUI/optionsdialog.cpp" line="769"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/lang/gpxsee_fi.ts 
new/GPXSee-12.3/lang/gpxsee_fi.ts
--- old/GPXSee-12.2/lang/gpxsee_fi.ts   2023-03-04 17:48:51.000000000 +0100
+++ new/GPXSee-12.3/lang/gpxsee_fi.ts   2023-03-25 13:31:15.000000000 +0100
@@ -1912,7 +1912,7 @@
     <message>
         <location filename="../src/GUI/optionsdialog.cpp" line="749"/>
         <source>DEM cache size:</source>
-        <translation type="unfinished"></translation>
+        <translation>DEM-välimuistin koko:</translation>
     </message>
     <message>
         <location filename="../src/GUI/optionsdialog.cpp" line="769"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/lang/gpxsee_nb.ts 
new/GPXSee-12.3/lang/gpxsee_nb.ts
--- old/GPXSee-12.2/lang/gpxsee_nb.ts   2023-03-04 17:48:51.000000000 +0100
+++ new/GPXSee-12.3/lang/gpxsee_nb.ts   2023-03-25 13:31:15.000000000 +0100
@@ -1894,7 +1894,7 @@
         <location filename="../src/GUI/optionsdialog.cpp" line="741"/>
         <location filename="../src/GUI/optionsdialog.cpp" line="748"/>
         <source>Image cache size:</source>
-        <translation>Bildehurtiglagringstørrelse:</translation>
+        <translation>Bildehurtiglagerstørrelse:</translation>
     </message>
     <message>
         <location filename="../src/GUI/optionsdialog.cpp" line="742"/>
@@ -1912,7 +1912,7 @@
     <message>
         <location filename="../src/GUI/optionsdialog.cpp" line="749"/>
         <source>DEM cache size:</source>
-        <translation type="unfinished"></translation>
+        <translation>DEM-hurtiglagerstørrelse:</translation>
     </message>
     <message>
         <location filename="../src/GUI/optionsdialog.cpp" line="769"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/lang/gpxsee_ru.ts 
new/GPXSee-12.3/lang/gpxsee_ru.ts
--- old/GPXSee-12.2/lang/gpxsee_ru.ts   2023-03-04 17:48:51.000000000 +0100
+++ new/GPXSee-12.3/lang/gpxsee_ru.ts   2023-03-25 13:31:15.000000000 +0100
@@ -1913,7 +1913,7 @@
     <message>
         <location filename="../src/GUI/optionsdialog.cpp" line="749"/>
         <source>DEM cache size:</source>
-        <translation type="unfinished"></translation>
+        <translation>Размер кэша DEM:</translation>
     </message>
     <message>
         <location filename="../src/GUI/optionsdialog.cpp" line="769"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/lang/gpxsee_uk.ts 
new/GPXSee-12.3/lang/gpxsee_uk.ts
--- old/GPXSee-12.2/lang/gpxsee_uk.ts   2023-03-04 17:48:51.000000000 +0100
+++ new/GPXSee-12.3/lang/gpxsee_uk.ts   2023-03-25 13:31:15.000000000 +0100
@@ -1913,7 +1913,7 @@
     <message>
         <location filename="../src/GUI/optionsdialog.cpp" line="749"/>
         <source>DEM cache size:</source>
-        <translation type="unfinished"></translation>
+        <translation>Розмір кешу DEM:</translation>
     </message>
     <message>
         <location filename="../src/GUI/optionsdialog.cpp" line="769"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/lang/gpxsee_zh.ts 
new/GPXSee-12.3/lang/gpxsee_zh.ts
--- old/GPXSee-12.2/lang/gpxsee_zh.ts   2023-03-04 17:48:51.000000000 +0100
+++ new/GPXSee-12.3/lang/gpxsee_zh.ts   2023-03-25 13:31:15.000000000 +0100
@@ -1911,7 +1911,7 @@
     <message>
         <location filename="../src/GUI/optionsdialog.cpp" line="749"/>
         <source>DEM cache size:</source>
-        <translation type="unfinished"></translation>
+        <translation>DEM 缓存大小:</translation>
     </message>
     <message>
         <location filename="../src/GUI/optionsdialog.cpp" line="769"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/pkg/windows/gpxsee64.nsi 
new/GPXSee-12.3/pkg/windows/gpxsee64.nsi
--- old/GPXSee-12.2/pkg/windows/gpxsee64.nsi    2023-03-04 17:48:51.000000000 
+0100
+++ new/GPXSee-12.3/pkg/windows/gpxsee64.nsi    2023-03-25 13:31:15.000000000 
+0100
@@ -37,7 +37,7 @@
 ; The name of the installer
 Name "GPXSee"
 ; Program version
-!define VERSION "12.2"
+!define VERSION "12.3"
 
 ; The file to write
 OutFile "GPXSee-${VERSION}_x64.exe"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/src/GUI/app.cpp 
new/GPXSee-12.3/src/GUI/app.cpp
--- old/GPXSee-12.2/src/GUI/app.cpp     2023-03-04 17:48:51.000000000 +0100
+++ new/GPXSee-12.3/src/GUI/app.cpp     2023-03-25 13:31:15.000000000 +0100
@@ -7,6 +7,7 @@
 #include <QLibraryInfo>
 #include <QSurfaceFormat>
 #include <QImageReader>
+#include <QFileInfo>
 #ifdef Q_OS_ANDROID
 #include <QCoreApplication>
 #include <QJniObject>
@@ -154,10 +155,13 @@
        QString ellipsoidsFile(ProgramPaths::ellipsoidsFile());
        QString gcsFile(ProgramPaths::gcsFile());
 
-       if (ellipsoidsFile.isNull())
+       if (!QFileInfo::exists(ellipsoidsFile)) {
                qWarning("No ellipsoids file found.");
-       if (gcsFile.isNull())
+               ellipsoidsFile = QString();
+       } if (!QFileInfo::exists(gcsFile)) {
                qWarning("No GCS file found.");
+               gcsFile = QString();
+       }
 
        if (!ellipsoidsFile.isNull() && !gcsFile.isNull()) {
                Ellipsoid::loadList(ellipsoidsFile);
@@ -170,8 +174,9 @@
 {
        QString pcsFile(ProgramPaths::pcsFile());
 
-       if (pcsFile.isNull())
+       if (!QFileInfo::exists(pcsFile)) {
                qWarning("No PCS file found.");
-       else
+               qWarning("Maps based on a projection different from EPSG:3857 
won't work.");
+       } else
                PCS::loadList(pcsFile);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/src/GUI/gui.cpp 
new/GPXSee-12.3/src/GUI/gui.cpp
--- old/GPXSee-12.2/src/GUI/gui.cpp     2023-03-04 17:48:51.000000000 +0100
+++ new/GPXSee-12.3/src/GUI/gui.cpp     2023-03-25 13:31:15.000000000 +0100
@@ -137,11 +137,8 @@
                        MapAction *a = new MapAction(map, _mapsActionGroup);
                        connect(a, &MapAction::loaded, this, 
&GUI::mapInitialized);
                        tree.addItem(a);
-               } else {
-                       qWarning("%s: %s", qPrintable(map->path()),
-                         qPrintable(map->errorString()));
+               } else
                        delete map;
-               }
        }
 
        return tree;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/src/GUI/pluginparameters.cpp 
new/GPXSee-12.3/src/GUI/pluginparameters.cpp
--- old/GPXSee-12.2/src/GUI/pluginparameters.cpp        2023-03-04 
17:48:51.000000000 +0100
+++ new/GPXSee-12.3/src/GUI/pluginparameters.cpp        2023-03-25 
13:31:15.000000000 +0100
@@ -3,7 +3,7 @@
 #include "pluginparameters.h"
 
 static const QMap<QString, QStringList> pluginParams = {
-       {"nmea", {"nmea.source"}},
+       {"nmea", {"nmea.source", "nmea.baudrate"}},
        {"serialnmea", {"serialnmea.serial_port"}},
        {"geoclue2", {"desktopId"}}
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/src/common/coordinates.h 
new/GPXSee-12.3/src/common/coordinates.h
--- old/GPXSee-12.2/src/common/coordinates.h    2023-03-04 17:48:51.000000000 
+0100
+++ new/GPXSee-12.3/src/common/coordinates.h    2023-03-25 13:31:15.000000000 
+0100
@@ -38,6 +38,15 @@
   {return (c1.lat() == c2.lat() && c1.lon() == c2.lon());}
 inline bool operator!=(const Coordinates &c1, const Coordinates &c2)
   {return !(c1 == c2);}
+inline bool operator<(const Coordinates &c1, const Coordinates &c2)
+{
+       if (c1.lon() < c2.lon())
+               return true;
+       else if (c1.lon() > c2.lon())
+               return false;
+       else
+               return (c1.lat() < c2.lat());
+}
 
 #ifndef QT_NO_DEBUG
 QDebug operator<<(QDebug dbg, const Coordinates &c);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/src/common/range.h 
new/GPXSee-12.3/src/common/range.h
--- old/GPXSee-12.2/src/common/range.h  2023-03-04 17:48:51.000000000 +0100
+++ new/GPXSee-12.3/src/common/range.h  2023-03-25 13:31:15.000000000 +0100
@@ -15,9 +15,10 @@
        bool operator!=(const Range &other) const
          {return _min != other._min || _max != other._max;}
 
+       int size() const {return (_max - _min);}
        int min() const {return _min;}
        int max() const {return _max;}
-       int size() const {return (_max - _min);}
+       int mid() const {return _min + size()/2;}
 
        bool isValid() const {return size() >= 0;}
        bool isNull() const {return _min == 0 && _max == 0;}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/src/map/ENC/attributes.h 
new/GPXSee-12.3/src/map/ENC/attributes.h
--- old/GPXSee-12.2/src/map/ENC/attributes.h    2023-03-04 17:48:51.000000000 
+0100
+++ new/GPXSee-12.3/src/map/ENC/attributes.h    2023-03-25 13:31:15.000000000 
+0100
@@ -15,6 +15,7 @@
 #define CATWAT 69
 #define CATWRK 71
 #define COMCHA 77
+#define CURVEL 84
 #define DRVAL1 87
 #define ELEVAT 90
 #define FUNCTN 94
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/src/map/ENC/mapdata.cpp 
new/GPXSee-12.3/src/map/ENC/mapdata.cpp
--- old/GPXSee-12.2/src/map/ENC/mapdata.cpp     2023-03-04 17:48:51.000000000 
+0100
+++ new/GPXSee-12.3/src/map/ENC/mapdata.cpp     2023-03-25 13:31:15.000000000 
+0100
@@ -19,55 +19,60 @@
 {
        QMap<uint,uint> map;
 
-       map.insert(TYPE(CGUSTA), 0);
-       map.insert(SUBTYPE(BUAARE, 1), 1);
-       map.insert(SUBTYPE(BUAARE, 5), 2);
-       map.insert(SUBTYPE(BUAARE, 4), 3);
-       map.insert(SUBTYPE(BUAARE, 3), 4);
-       map.insert(SUBTYPE(BUAARE, 2), 5);
-       map.insert(SUBTYPE(BUAARE, 6), 6);
-       map.insert(SUBTYPE(BUAARE, 0), 7);
-       map.insert(TYPE(RDOSTA), 8);
-       map.insert(TYPE(RADSTA), 9);
-       map.insert(TYPE(RTPBCN), 10);
-       map.insert(TYPE(BCNISD), 11);
-       map.insert(TYPE(BCNLAT), 12);
-       map.insert(TYPE(I_BCNLAT), 12);
-       map.insert(TYPE(BCNSAW), 13);
-       map.insert(TYPE(BCNSPP), 14);
-       map.insert(TYPE(BOYCAR), 15);
-       map.insert(TYPE(BOYINB), 16);
-       map.insert(TYPE(BOYISD), 17);
-       map.insert(TYPE(BOYLAT), 18);
-       map.insert(TYPE(I_BOYLAT), 18);
-       map.insert(TYPE(BOYSAW), 19);
-       map.insert(TYPE(BOYSPP), 20);
-       map.insert(TYPE(MORFAC), 21);
-       map.insert(TYPE(OFSPLF), 22);
-       map.insert(TYPE(LIGHTS), 23);
+       map.insert(TYPE(LIGHTS), 0);
+       map.insert(TYPE(FOGSIG), 0);
+
+       map.insert(TYPE(CGUSTA), 1);
+       map.insert(SUBTYPE(BUAARE, 1), 2);
+       map.insert(SUBTYPE(BUAARE, 5), 3);
+       map.insert(SUBTYPE(BUAARE, 4), 4);
+       map.insert(SUBTYPE(BUAARE, 3), 5);
+       map.insert(SUBTYPE(BUAARE, 2), 6);
+       map.insert(SUBTYPE(BUAARE, 6), 7);
+       map.insert(SUBTYPE(BUAARE, 0), 8);
+       map.insert(TYPE(RDOSTA), 9);
+       map.insert(TYPE(RADSTA), 10);
+       map.insert(TYPE(RTPBCN), 11);
+       map.insert(TYPE(BCNISD), 12);
+       map.insert(TYPE(BCNLAT), 13);
+       map.insert(TYPE(I_BCNLAT), 13);
+       map.insert(TYPE(BCNSAW), 14);
+       map.insert(TYPE(BCNSPP), 15);
+       map.insert(TYPE(BOYCAR), 16);
+       map.insert(TYPE(BOYINB), 17);
+       map.insert(TYPE(BOYISD), 18);
+       map.insert(TYPE(BOYLAT), 19);
+       map.insert(TYPE(I_BOYLAT), 19);
+       map.insert(TYPE(BOYSAW), 20);
+       map.insert(TYPE(BOYSPP), 21);
+       map.insert(TYPE(MORFAC), 22);
+       map.insert(TYPE(OFSPLF), 23);
        map.insert(TYPE(OBSTRN), 24);
        map.insert(TYPE(WRECKS), 25);
        map.insert(TYPE(UWTROC), 26);
        map.insert(TYPE(WATTUR), 27);
-       map.insert(TYPE(PILBOP), 28);
-       map.insert(TYPE(SISTAT), 29);
-       map.insert(TYPE(I_SISTAT), 29);
-       map.insert(TYPE(I_RDOCAL), 30);
-       map.insert(TYPE(I_TRNBSN), 31);
-       map.insert(TYPE(HRBFAC), 32);
-       map.insert(TYPE(I_HRBFAC), 32);
-       map.insert(TYPE(PILPNT), 33);
-       map.insert(TYPE(ACHBRT), 34);
-       map.insert(TYPE(I_ACHBRT), 34);
-       map.insert(TYPE(CRANES), 35);
-       map.insert(TYPE(I_CRANES), 35);
-       map.insert(TYPE(I_WTWGAG), 36);
-       map.insert(TYPE(PYLONS), 37);
-       map.insert(TYPE(LNDMRK), 38);
-       map.insert(TYPE(SILTNK), 39);
-       map.insert(TYPE(LNDELV), 40);
-       map.insert(TYPE(SMCFAC), 41);
-       map.insert(TYPE(BUISGL), 42);
+       map.insert(TYPE(CURENT), 28);
+       map.insert(TYPE(PILBOP), 29);
+       map.insert(TYPE(SISTAT), 30);
+       map.insert(TYPE(I_SISTAT), 30);
+       map.insert(TYPE(RDOCAL), 31);
+       map.insert(TYPE(I_RDOCAL), 31);
+       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(CRANES), 36);
+       map.insert(TYPE(I_CRANES), 36);
+       map.insert(TYPE(I_WTWGAG), 37);
+       map.insert(TYPE(PYLONS), 38);
+       map.insert(TYPE(SLCONS), 39);
+       map.insert(TYPE(LNDMRK), 40);
+       map.insert(TYPE(SILTNK), 41);
+       map.insert(TYPE(LNDELV), 42);
+       map.insert(TYPE(SMCFAC), 43);
+       map.insert(TYPE(BUISGL), 44);
 
        map.insert(TYPE(I_DISMAR), 0xFFFFFFFE);
        map.insert(TYPE(SOUNDG), 0xFFFFFFFF);
@@ -246,10 +251,15 @@
        if (type>>16 == I_DISMAR && params.size()) {
                _label = hUnits((type>>8)&0xFF) + " " + 
QString::fromLatin1(params.at(0));
                _type = SUBTYPE(I_DISMAR, type & 0xFF);
-       } else if (type == TYPE(I_RDOCAL) && params.size() > 1) {
+       } else if ((type>>16 == I_RDOCAL || type>>16 == RDOCAL) && 
params.size() > 1) {
                if (!params.at(1).isEmpty())
                        _label = QString("VHF ") + 
QString::fromLatin1(params.at(1));
                _param = QVariant(params.at(0).toDouble());
+       } else if (type>>16 == CURENT && params.size() > 1) {
+               if (!params.at(1).isEmpty())
+                       _label = QString::fromLatin1(params.at(1))
+                         + QString::fromUtf8("\xE2\x80\x89kt");
+               _param = QVariant(params.at(0).toDouble());
        } else if (type>>16 == I_SISTAT || type>>16 == SISTAT) {
                if (_label.isEmpty())
                        _label = sistat(type & 0xFF);
@@ -540,9 +550,13 @@
                        subtype |= av.at(1).toByteArray().toUInt() << 8;
 
                if ((OBJL == I_DISMAR && key == I_WTWDIS)
-                 || (OBJL == I_RDOCAL && key == ORIENT))
+                 || (OBJL == RDOCAL && key == ORIENT)
+                 || (OBJL == I_RDOCAL && key == ORIENT)
+                 || (OBJL == CURENT && key == ORIENT))
                        params[0] = av.at(1).toByteArray();
-               if (OBJL == I_RDOCAL && key == COMCHA)
+               if ((OBJL == I_RDOCAL && key == COMCHA)
+                 || (OBJL == RDOCAL && key == COMCHA)
+                 || (OBJL == CURENT && key == CURVEL))
                        params[1] = av.at(1).toByteArray();
        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/src/map/ENC/objects.h 
new/GPXSee-12.3/src/map/ENC/objects.h
--- old/GPXSee-12.2/src/map/ENC/objects.h       2023-03-04 17:48:51.000000000 
+0100
+++ new/GPXSee-12.3/src/map/ENC/objects.h       2023-03-25 13:31:15.000000000 
+0100
@@ -27,6 +27,7 @@
 #define COALNE 30
 #define CONVYR 34
 #define CRANES 35
+#define CURENT 36
 #define DAMCON 38
 #define DWRTPT 41
 #define DEPARE 42
@@ -39,6 +40,7 @@
 #define FNCLNE 52
 #define FERYRT 53
 #define FLODOC 57
+#define FOGSIG 58
 #define GATCON 61
 #define HRBFAC 64
 #define HULKES 65
@@ -63,6 +65,7 @@
 #define PYLONS 98
 #define RADSTA 102
 #define RTPBCN 103
+#define RDOCAL 104
 #define RDOSTA 105
 #define RAILWY 106
 #define RCRTCL 108
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/src/map/ENC/rastertile.cpp 
new/GPXSee-12.3/src/map/ENC/rastertile.cpp
--- old/GPXSee-12.2/src/map/ENC/rastertile.cpp  2023-03-04 17:48:51.000000000 
+0100
+++ new/GPXSee-12.3/src/map/ENC/rastertile.cpp  2023-03-25 13:31:15.000000000 
+0100
@@ -10,8 +10,24 @@
 using namespace ENC;
 
 #define ICON_PADDING 2
-#define TSSLPT_SIZE 0.005 /* ll */
-#define RDOCAL_SIZE 12 /* px */
+#define TSSLPT_SIZE  0.005 /* ll */
+#define RDOCAL_SIZE  12 /* px */
+#define CURENT_SIZE  12 /* px */
+
+class PointItem : public TextPointItem
+{
+public:
+       PointItem(const QPoint &point, const QString *text, const QFont *font,
+         const QImage *img, const QImage *rimg, const QColor *color,
+         const QColor *haloColor) : TextPointItem(point, text, font, img, 
color,
+         haloColor, 0, ICON_PADDING), _rimg(rimg) {}
+       ~PointItem() {delete _rimg;}
+
+private:
+       const QImage *_rimg;
+};
+
+typedef QMap<Coordinates, const MapData::Point*> PointMap;
 
 const float C1 = 0.866025f; /* sqrt(3)/2 */
 
@@ -49,6 +65,18 @@
        }
 }
 
+static const QImage *light()
+{
+       static QImage img(":/marine/light.png");
+       return &img;
+}
+
+static const QImage *signal()
+{
+       static QImage img(":/marine/fog-signal.png");
+       return &img;
+}
+
 static const Style& style()
 {
        static Style s;
@@ -95,6 +123,7 @@
          QImage::Format_ARGB32_Premultiplied);
        img->fill(Qt::transparent);
        QPainter p(img);
+       p.setRenderHint(QPainter::Antialiasing);
        p.setPen(QPen(QColor("#eb49eb"), 1));
 
        QPointF arrow[3];
@@ -114,14 +143,54 @@
        return img;
 }
 
+static QImage *currentArrow(qreal angle)
+{
+       QImage *img = new QImage(CURENT_SIZE*2, CURENT_SIZE*2,
+         QImage::Format_ARGB32_Premultiplied);
+       img->fill(Qt::transparent);
+       QPainter p(img);
+       p.setRenderHint(QPainter::Antialiasing);
+       p.setPen(QPen(Qt::black, 1));
+
+       QPointF arrow[3];
+       arrow[0] = QPointF(img->width()/2, img->height()/2);
+       arrow[1] = arrow[0] + QPointF(qSin(angle - M_PI/3) * CURENT_SIZE,
+         qCos(angle - M_PI/3) * CURENT_SIZE);
+       arrow[2] = arrow[0] + QPointF(qSin(angle - M_PI + M_PI/3) * CURENT_SIZE,
+         qCos(angle - M_PI + M_PI/3) * CURENT_SIZE);
+
+       QLineF l(arrow[1], arrow[2]);
+       QPointF pt(l.pointAt(0.5));
+       QLineF l2(arrow[0], pt);
+
+       p.translate(arrow[0] - pt);
+       p.drawPolyline(QPolygonF() << arrow[1] << arrow[0] << arrow[2]);
+       p.drawLine(arrow[0], l2.pointAt(2));
+
+       return img;
+}
+
 static QImage *image(uint type, const QVariant &param)
 {
-       if (type>>16 == I_RDOCAL)
+       if (type>>16 == RDOCAL || type>>16 == I_RDOCAL)
                return rdocalArrow(deg2rad(90 - param.toDouble()));
+       else if (type>>16 == CURENT)
+               return currentArrow(deg2rad(90 - param.toDouble()));
        else
                return 0;
 }
 
+static bool showLabel(const QImage *img, const Range &range, int zoom, int 
type)
+{
+       if (type>>16 == I_DISMAR)
+               return true;
+
+       if ((img || type>>16 == SOUNDG) && zoom < range.mid())
+               return false;
+
+       return true;
+}
+
 QPainterPath RasterTile::painterPath(const Polygon &polygon) const
 {
        QPainterPath path;
@@ -266,21 +335,37 @@
 }
 
 void RasterTile::processPoints(QList<TextItem*> &textItems,
-  QList<QImage*> &images)
+  QList<TextItem*> &lights)
 {
        const Style &s = style();
+       PointMap lightsMap, signalsMap;
+       int i;
 
        std::sort(_points.begin(), _points.end(), pointLess);
 
-       for (int i = 0; i < _points.size(); i++) {
+       /* Lights & Signals */
+       for (i = 0; i < _points.size(); i++) {
+               const MapData::Point *point = _points.at(i);
+               if (point->type()>>16 == LIGHTS)
+                       lightsMap.insert(point->pos(), point);
+               else if (point->type()>>16 == FOGSIG)
+                       signalsMap.insert(point->pos(), point);
+               else
+                       break;
+       }
+
+       /* Everything else */
+       for ( ; i < _points.size(); i++) {
                const MapData::Point *point = _points.at(i);
+               QPoint pos(ll2xy(point->pos()).toPoint());
                const Style::Point &style = s.point(point->type());
 
                const QString *label = point->label().isEmpty() ? 0 : 
&(point->label());
                QImage *rimg = style.img().isNull()
                  ? image(point->type(), point->param()) : 0;
                const QImage *img = style.img().isNull() ? rimg : &style.img();
-               const QFont *fnt = font(style.textFontSize());
+               const QFont *fnt = showLabel(img, _zooms, _zoom, point->type())
+                 ? font(style.textFontSize()) : 0;
                const QColor *color = &style.textColor();
                const QColor *hColor = style.haloColor().isValid()
                  ? &style.haloColor() : 0;
@@ -288,16 +373,16 @@
                if ((!label || !fnt) && !img)
                        continue;
 
-               TextPointItem *item = new 
TextPointItem(ll2xy(point->pos()).toPoint(),
-                 label, fnt, img, color, hColor, 0, ICON_PADDING);
+               PointItem *item = new PointItem(pos, label, fnt, img, rimg, 
color,
+                 hColor);
                if (item->isValid() && !item->collides(textItems)) {
                        textItems.append(item);
-                       if (rimg)
-                               images.append(rimg);
-               } else {
+                       if (lightsMap.contains(point->pos()))
+                               lights.append(new TextPointItem(pos, 0, 0, 
light(), 0, 0, 0, 0));
+                       if (signalsMap.contains(point->pos()))
+                               lights.append(new TextPointItem(pos, 0, 0, 
signal(), 0, 0, 0, 0));
+               } else
                        delete item;
-                       delete rimg;
-               }
        }
 }
 
@@ -328,14 +413,13 @@
 
 void RasterTile::render()
 {
-       QList<TextItem*> textItems;
-       QList<QImage*> images;
+       QList<TextItem*> textItems, lights;
 
        _pixmap.setDevicePixelRatio(_ratio);
        _pixmap.fill(Qt::transparent);
 
        processPolygons(textItems);
-       processPoints(textItems, images);
+       processPoints(textItems, lights);
        processLines(textItems);
 
        QPainter painter(&_pixmap);
@@ -347,10 +431,11 @@
        drawLines(&painter);
        drawArrows(&painter);
 
+       drawTextItems(&painter, lights);
        drawTextItems(&painter, textItems);
 
        qDeleteAll(textItems);
-       qDeleteAll(images);
+       qDeleteAll(lights);
 
        //painter.setPen(Qt::red);
        //painter.setBrush(Qt::NoBrush);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/src/map/ENC/rastertile.h 
new/GPXSee-12.3/src/map/ENC/rastertile.h
--- old/GPXSee-12.2/src/map/ENC/rastertile.h    2023-03-04 17:48:51.000000000 
+0100
+++ new/GPXSee-12.3/src/map/ENC/rastertile.h    2023-03-25 13:31:15.000000000 
+0100
@@ -13,12 +13,14 @@
 class RasterTile
 {
 public:
-       RasterTile(const Projection &proj, const Transform &transform, int zoom,
-         const QRect &rect, qreal ratio, const QList<MapData::Line*> &lines,
-         const QList<MapData::Poly*> &polygons, const QList<MapData::Point*> 
&points)
-         : _proj(proj), _transform(transform), _zoom(zoom), _rect(rect),
-         _ratio(ratio), _pixmap(rect.width() * ratio, rect.height() * ratio),
-         _lines(lines), _polygons(polygons), _points(points), _valid(false) {}
+       RasterTile(const Projection &proj, const Transform &transform,
+         const Range &zooms, int zoom, const QRect &rect, qreal ratio,
+         const QList<MapData::Line*> &lines, const QList<MapData::Poly*> 
&polygons,
+         const QList<MapData::Point*> &points)
+         : _proj(proj), _transform(transform), _zooms(zooms), _zoom(zoom),
+         _rect(rect), _ratio(ratio),
+         _pixmap(rect.width() * ratio, rect.height() * ratio), _lines(lines),
+         _polygons(polygons), _points(points), _valid(false) {}
 
        int zoom() const {return _zoom;}
        QPoint xy() const {return _rect.topLeft();}
@@ -33,7 +35,7 @@
        QPainterPath painterPath(const Polygon &polygon) const;
        QPolygonF polyline(const QVector<Coordinates> &path) const;
        QPolygonF tsslptArrow(const Coordinates &c, qreal angle) const;
-       void processPoints(QList<TextItem*> &textItems, QList<QImage*> &images);
+       void processPoints(QList<TextItem*> &textItems, QList<TextItem *> 
&lights);
        void processLines(QList<TextItem*> &textItems);
        void processPolygons(QList<TextItem*> &textItems);
        void drawBitmapPath(QPainter *painter, const QImage &img,
@@ -45,6 +47,7 @@
 
        Projection _proj;
        Transform _transform;
+       Range _zooms;
        int _zoom;
        QRect _rect;
        qreal _ratio;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/src/map/ENC/style.cpp 
new/GPXSee-12.3/src/map/ENC/style.cpp
--- old/GPXSee-12.2/src/map/ENC/style.cpp       2023-03-04 17:48:51.000000000 
+0100
+++ new/GPXSee-12.3/src/map/ENC/style.cpp       2023-03-25 13:31:15.000000000 
+0100
@@ -178,12 +178,11 @@
 {
        _points[SUBTYPE(BUAARE, 1)].setTextFontSize(Large);
        _points[SUBTYPE(BUAARE, 5)].setTextFontSize(Large);
-       _points[SUBTYPE(BUAARE, 3)].setTextFontSize(Small);
+       _points[SUBTYPE(BUAARE, 4)].setTextFontSize(Large);
+       _points[SUBTYPE(BUAARE, 2)].setTextFontSize(Small);
        _points[SUBTYPE(BUAARE, 6)].setTextFontSize(Small);
-       _points[SUBTYPE(BUAARE, 0)].setTextFontSize(Small);
        _points[TYPE(SOUNDG)].setTextFontSize(Small);
        _points[TYPE(SOUNDG)].setHaloColor(QColor());
-       _points[TYPE(LIGHTS)] = Point(QImage(":/marine/light-major.png"), 
Small);
        _points[TYPE(BOYCAR)] = Point(QImage(":/marine/buoy.png"), Small);
        _points[TYPE(BOYINB)] = Point(QImage(":/marine/buoy.png"), Small);
        _points[TYPE(BOYISD)] = Point(QImage(":/marine/buoy.png"), Small);
@@ -197,6 +196,7 @@
        _points[TYPE(BCNSAW)] = Point(QImage(":/marine/beacon.png"), Small);
        _points[TYPE(BCNSPP)] = Point(QImage(":/marine/beacon.png"), Small);
        _points[SUBTYPE(LNDMRK, 3)] = Point(QImage(":/marine/chimney.png"));
+       _points[SUBTYPE(LNDMRK, 7)] = Point(QImage(":/marine/pylon.png"));
        _points[SUBTYPE(LNDMRK, 9)] = Point(QImage(":/marine/monument.png"));
        _points[SUBTYPE(LNDMRK, 20)] = Point(QImage(":/marine/church.png"));
        _points[SUBTYPE(LNDMRK, 17)] = Point(QImage(":/marine/tower.png"));
@@ -235,14 +235,14 @@
        _points[SUBTYPE(MORFAC, 5)] = Point(QImage(":/marine/pile.png"), Small);
        _points[SUBTYPE(MORFAC, 7)] = Point(QImage(":/marine/mooring-buoy.png"),
          Small);
-       _points[TYPE(CRANES)] = Point(QImage(":/marine/crane.png"));
-       _points[TYPE(I_CRANES)] = Point(QImage(":/marine/crane.png"));
-       _points[SUBTYPE(I_DISMAR, 1)] = 
Point(QImage(":/marine/distance-mark.png"));
+       _points[TYPE(CRANES)] = Point(QImage(":/marine/crane.png"), Small);
+       _points[TYPE(I_CRANES)] = Point(QImage(":/marine/crane.png"), Small);
+       _points[SUBTYPE(I_DISMAR, 1)] = 
Point(QImage(":/marine/distance-mark.png"),
+         Small);
        _points[SUBTYPE(I_DISMAR, 1)].setTextColor(QColor("#ffffff"));
-       _points[SUBTYPE(I_DISMAR, 1)].setTextFontSize(Small);
        _points[SUBTYPE(I_DISMAR, 1)].setHaloColor(QColor());
-       _points[SUBTYPE(I_DISMAR, 2)] = 
Point(QImage(":/marine/distance-mark-land.png"));
-       _points[SUBTYPE(I_DISMAR, 2)].setTextFontSize(Small);
+       _points[SUBTYPE(I_DISMAR, 2)] = 
Point(QImage(":/marine/distance-mark-land.png"),
+         Small);
        _points[SUBTYPE(I_DISMAR, 2)].setHaloColor(QColor());
        _points[SUBTYPE(I_DISMAR, 3)] = _points[SUBTYPE(I_DISMAR, 2)];
        _points[SUBTYPE(I_DISMAR, 4)] = _points[SUBTYPE(I_DISMAR, 2)];
@@ -252,7 +252,8 @@
        _points[TYPE(RTPBCN)] = Point(QImage(":/marine/radar-transponder.png"));
        _points[TYPE(SILTNK)] = Point(QImage(":/marine/silo.png"));
        _points[TYPE(I_TRNBSN)] = Point(QImage(":/marine/turning-basin.png"));
-       _points[TYPE(I_WTWGAG)] = Point(QImage(":/marine/gauge.png"));
+       _points[TYPE(I_WTWGAG)] = Point(QImage(":/marine/gauge.png"), Small);
+       _points[TYPE(RDOCAL)].setTextColor(QColor("#eb49eb"));
        _points[TYPE(I_RDOCAL)].setTextColor(QColor("#eb49eb"));
        _points[TYPE(PYLONS)] = Point(QImage(":/marine/pylon.png"));
        _points[SUBTYPE(I_BERTHS, 6)] = 
Point(QImage(":/marine/fleeting-area.png"));
@@ -261,26 +262,33 @@
        _points[SUBTYPE(WATTUR, 4)] = Point(QImage(":/marine/overfalls.png"));
        _points[TYPE(PILBOP)] = Point(QImage(":/marine/boarding-place.png"));
        _points[TYPE(SISTAT)] = Point(QImage(":/marine/pylon.png"));
+       _points[TYPE(SLCONS)] = Point(QImage(":/marine/construction.png"), 
Small);
 
-       _points[SUBTYPE(SMCFAC, 7)] = Point(QImage(":/POI/restaurant-11.png"));
-       _points[SUBTYPE(SMCFAC, 11)] = Point(QImage(":/POI/pharmacy-11.png"));
-       _points[SUBTYPE(SMCFAC, 12)] = 
Point(QImage(":/POI/drinking-water-11.png"));
-       _points[SUBTYPE(SMCFAC, 13)] = Point(QImage(":/POI/fuel-11.png"));
-       _points[SUBTYPE(SMCFAC, 18)] = Point(QImage(":/POI/toilet-11.png"));
-       _points[SUBTYPE(SMCFAC, 20)] = Point(QImage(":/POI/telephone-11.png"));
-       _points[SUBTYPE(SMCFAC, 22)] = Point(QImage(":/POI/parking-11.png"));
-       _points[SUBTYPE(SMCFAC, 25)] = Point(QImage(":/POI/campsite-11.png"));
-       _points[SUBTYPE(BUISGL, 2)] = Point(QImage(":/POI/harbor-11.png"));
-       _points[SUBTYPE(BUISGL, 5)] = Point(QImage(":/POI/hospital-11.png"));
-       _points[SUBTYPE(BUISGL, 6)] = Point(QImage(":/POI/post-11.png"));
-       _points[SUBTYPE(BUISGL, 7)] = Point(QImage(":/POI/lodging-11.png"));
-       _points[SUBTYPE(BUISGL, 9)] = Point(QImage(":/POI/police-11.png"));
-       _points[SUBTYPE(BUISGL, 13)] = Point(QImage(":/POI/bank-11.png"));
-       _points[SUBTYPE(BUISGL, 19)] = Point(QImage(":/POI/school-11.png"));
-       _points[SUBTYPE(BUISGL, 20)] = 
Point(QImage(":/POI/religious-christian-11.png"));
-       _points[SUBTYPE(BUISGL, 22)] = 
Point(QImage(":/POI/religious-jewish-11.png"));
-       _points[SUBTYPE(BUISGL, 26)] = 
Point(QImage(":/POI/religious-muslim-11.png"));
-       _points[SUBTYPE(BUISGL, 42)] = Point(QImage(":/POI/bus-11.png"));
+       _points[SUBTYPE(SMCFAC, 7)] = Point(QImage(":/POI/restaurant-11.png"), 
Small);
+       _points[SUBTYPE(SMCFAC, 11)] = Point(QImage(":/POI/pharmacy-11.png"), 
Small);
+       _points[SUBTYPE(SMCFAC, 12)] = 
Point(QImage(":/POI/drinking-water-11.png"),
+         Small);
+       _points[SUBTYPE(SMCFAC, 13)] = Point(QImage(":/POI/fuel-11.png"), 
Small);
+       _points[SUBTYPE(SMCFAC, 18)] = Point(QImage(":/POI/toilet-11.png"), 
Small);
+       _points[SUBTYPE(SMCFAC, 20)] = Point(QImage(":/POI/telephone-11.png"), 
Small);
+       _points[SUBTYPE(SMCFAC, 22)] = Point(QImage(":/POI/parking-11.png"), 
Small);
+       _points[SUBTYPE(SMCFAC, 25)] = Point(QImage(":/POI/campsite-11.png"), 
Small);
+       _points[TYPE(BUISGL)] = Point(QImage(":/marine/building.png"), Small);
+       _points[SUBTYPE(BUISGL, 2)] = Point(QImage(":/POI/harbor-11.png"), 
Small);
+       _points[SUBTYPE(BUISGL, 5)] = Point(QImage(":/POI/hospital-11.png"), 
Small);
+       _points[SUBTYPE(BUISGL, 6)] = Point(QImage(":/POI/post-11.png"), Small);
+       _points[SUBTYPE(BUISGL, 7)] = Point(QImage(":/POI/lodging-11.png"), 
Small);
+       _points[SUBTYPE(BUISGL, 9)] = Point(QImage(":/POI/police-11.png"), 
Small);
+       _points[SUBTYPE(BUISGL, 13)] = Point(QImage(":/POI/bank-11.png"), 
Small);
+       _points[SUBTYPE(BUISGL, 19)] = Point(QImage(":/POI/school-11.png"), 
Small);
+       _points[SUBTYPE(BUISGL, 20)] = 
Point(QImage(":/POI/religious-christian-11.png"),
+         Small);
+       _points[SUBTYPE(BUISGL, 22)] = 
Point(QImage(":/POI/religious-jewish-11.png"),
+         Small);
+       _points[SUBTYPE(BUISGL, 26)] = 
Point(QImage(":/POI/religious-muslim-11.png"),
+         Small);
+       _points[SUBTYPE(BUISGL, 33)] = Point(QImage(":/marine/pylon.png"), 
Small);
+       _points[SUBTYPE(BUISGL, 42)] = Point(QImage(":/POI/bus-11.png"), Small);
 }
 
 Style::Style()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/src/map/IMG/mapdata.cpp 
new/GPXSee-12.3/src/map/IMG/mapdata.cpp
--- old/GPXSee-12.2/src/map/IMG/mapdata.cpp     2023-03-04 17:48:51.000000000 
+0100
+++ new/GPXSee-12.3/src/map/IMG/mapdata.cpp     2023-03-25 13:31:15.000000000 
+0100
@@ -1,3 +1,4 @@
+#include <QFileInfo>
 #include "common/programpaths.h"
 #include "vectortile.h"
 #include "style.h"
@@ -76,7 +77,7 @@
                _style = new Style(_typ);
        else {
                QString typFile(ProgramPaths::typFile());
-               if (!typFile.isEmpty()) {
+               if (QFileInfo::exists(typFile)) {
                        SubFile typ(&typFile);
                        _style = new Style(&typ);
                } else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/src/map/IMG/rgnfile.cpp 
new/GPXSee-12.3/src/map/IMG/rgnfile.cpp
--- old/GPXSee-12.2/src/map/IMG/rgnfile.cpp     2023-03-04 17:48:51.000000000 
+0100
+++ new/GPXSee-12.3/src/map/IMG/rgnfile.cpp     2023-03-25 13:31:15.000000000 
+0100
@@ -217,7 +217,7 @@
          && readUInt32(hdl, _base.size)))
                return false;
 
-       if (hdrLen >= 0x68) {
+       if (hdrLen >= 0x71) {
                if (!(readUInt32(hdl, _polygons.offset) && readUInt32(hdl, 
_polygons.size)
                  && seek(hdl, _gmpOffset + 0x29) && readUInt32(hdl, 
_polygonsGblFlags)
                  && readUInt32(hdl, _polygonsLclFlags[0])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/src/map/IMG/style.cpp 
new/GPXSee-12.3/src/map/IMG/style.cpp
--- old/GPXSee-12.2/src/map/IMG/style.cpp       2023-03-04 17:48:51.000000000 
+0100
+++ new/GPXSee-12.3/src/map/IMG/style.cpp       2023-03-25 13:31:15.000000000 
+0100
@@ -392,6 +392,7 @@
        _lines[0x10505] = Line(QImage(":/marine/safety-zone-line.png"));
        _lines[0x10507] = Line(QPen(QColor("#e728e7"), 1, Qt::DashLine));
        _lines[0x10601] = Line(QPen(QColor("#000000"), 1, Qt::SolidLine));
+       _lines[0x10603] = Line(QPen(QColor("#e728e7"), 2, Qt::DashDotLine));
        _lines[0x10606] = Line(QImage(":/marine/anchor-line.png"));
        _lines[0x1060c] = Line(QPen(QColor("#e728e7"), 1, Qt::SolidLine));
        _lines[0x1060d] = Line(QPen(QColor("#eb49eb"), 1, Qt::DashLine));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/src/map/encmap.cpp 
new/GPXSee-12.3/src/map/encmap.cpp
--- old/GPXSee-12.2/src/map/encmap.cpp  2023-03-04 17:48:51.000000000 +0100
+++ new/GPXSee-12.3/src/map/encmap.cpp  2023-03-25 13:31:15.000000000 +0100
@@ -195,8 +195,8 @@
                                  _transform.img2proj(pointRect.bottomRight()));
                                _data.points(pointRectD.toRectC(_projection, 
20), &points);
 
-                               tiles.append(RasterTile(_projection, 
_transform, _zoom,
-                                 QRect(ttl, QSize(TILE_SIZE, TILE_SIZE)), 
_tileRatio,
+                               tiles.append(RasterTile(_projection, 
_transform, _data.zooms(),
+                                 _zoom, QRect(ttl, QSize(TILE_SIZE, 
TILE_SIZE)), _tileRatio,
                                  lines, polygons, points));
                        }
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/GPXSee-12.2/src/map/maplist.cpp 
new/GPXSee-12.3/src/map/maplist.cpp
--- old/GPXSee-12.2/src/map/maplist.cpp 2023-03-04 17:48:51.000000000 +0100
+++ new/GPXSee-12.3/src/map/maplist.cpp 2023-03-25 13:31:15.000000000 +0100
@@ -80,7 +80,6 @@
                                errors.append(it.key() + ": " + 
map->errorString());
                        ++it;
                }
-
        } else {
                for (it = _parsers.begin(); it != _parsers.end(); it++) {
                        map = it.value()(path, proj, isDir);

++++++ PKGBUILD ++++++
--- /var/tmp/diff_new_pack.0OD3XM/_old  2023-03-26 20:19:56.731192654 +0200
+++ /var/tmp/diff_new_pack.0OD3XM/_new  2023-03-26 20:19:56.735192674 +0200
@@ -1,5 +1,5 @@
 pkgname=gpxsee
-pkgver=12.2
+pkgver=12.3
 pkgrel=1
 pkgdesc='GPS log files visualizing and analyzing tool'
 arch=('i686' 'x86_64')

++++++ debian.changelog ++++++
--- /var/tmp/diff_new_pack.0OD3XM/_old  2023-03-26 20:19:56.763192821 +0200
+++ /var/tmp/diff_new_pack.0OD3XM/_new  2023-03-26 20:19:56.767192842 +0200
@@ -1,3 +1,10 @@
+gpxsee (12.3) stable; urgency=low
+
+  * Improved ENC maps rendering.
+  * Minor fixes.
+
+ -- Martin Tuma <tu...@cbox.cz>  Sun, 26 Mar 2023 11:01:15 +0200
+
 gpxsee (12.2) stable; urgency=low
 
   * Fixed broken handling of IMG "multi-maps" (maps with overviews).

++++++ gpxsee.dsc ++++++
--- /var/tmp/diff_new_pack.0OD3XM/_old  2023-03-26 20:19:56.819193113 +0200
+++ /var/tmp/diff_new_pack.0OD3XM/_new  2023-03-26 20:19:56.823193134 +0200
@@ -1,10 +1,10 @@
 Format: 1.0
 Source: gpxsee
-Version: 12.2-1
+Version: 12.3-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-12.2.tar.gz
+ 00000000000000000000000000000000 0 GPXSee-12.3.tar.gz
 

Reply via email to