Maproom / qmapshack

Consumer grade GIS software
GNU General Public License v3.0
298 stars 64 forks source link

QMS copies some QMS map icons into the local map icon directory #660

Closed Jens1122 closed 10 months ago

Jens1122 commented 10 months ago

Describe the bug

I'm using user defined map icons and specified the directory with these icons. With every start of QMS (1.17.0, @ Linux), some QMS icons are always copied into this directory. The icons are: gray_Cache In Trash Out Event.png, gray_Earthcache.png, gray_Event Cache.png, gray_Giga-Event Cache.png, gray_Letterbox Hybrid.png, gray_Mega-Event Cache.png, gray_Multi-cache.png, gray_Traditional Cache.png, gray_Unknown Cache.png, gray_Virtual Cache.png, gray_Webcam Cache.png, gray_Wherigo Cache.png

What have you done to circle down the problem?

QMS 1.17.0 @ OpenSuSE Tumbleweed

To Reproduce

Start QMS. The files are copied at program start.

Expected behavior

Keep map icon directory clean.

Screenshots

Attachments

Tracebacks

comment: # (Add your backtrace below if you have one. If QMapshack crashes the fastest way to get help is a backtrace. For Linux see: https://github.com/Maproom/qmapshack/wiki/TroubleShooting#create-a-backtrace-of-a-crash-on-linux. For Windows it would need a debug build and running QMapshack in Visual Studio.)

Desktop

Additional context

Here a snipet from a strace log: statx(AT_FDCWD, "/Multimedia/Karten/Map Icons/gray_Mega-Event Cache.png", AT_STATX_SYNC_AS_STAT|AT_SYMLINK_NOFOLLOW|AT_NO_AUTOMOUNT, STATX_ALL, 0x7ffd6058b8b0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/Multimedia/Karten/Map Icons/gray_Mega-Event Cache.png", O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 92 statx(92, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_ALL|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=0, ...}) = 0 write(92, "\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0 \0\0\0 \10\6\0\0\0szz"..., 1476) = 1476 close(92)

kiozen commented 10 months ago

These gray scale icons are automatically created from the colored icons. The colored ones are the single source of truth. Icons are loaded and referenced by a path. This is either the path for the internal resources storage which is crated at compile time. Or the external waypoint icon path at runtime. The later is used for those derived icons.

Doing it like that results in a very limited and local difference in the code. Easy to maintain. Imho this is no bug at all.

Jens1122 commented 10 months ago

Would it be possible to put these derived icons somewhere under /tmp? With putting these icons in my icon directory triggers my backup every time I used QMS.

kiozen commented 10 months ago

Select from the menu Workspace->"Setup Waypoint Icons". In the dialog you can choose the path.