<feed xmlns='http://www.w3.org/2005/Atom'>
<title>subsurface.git/core, branch v4.8.0</title>
<subtitle>forked from https://github.com/subsurface/subsurface</subtitle>
<id>https://git.tsegers.com/subsurface.git/atom?h=v4.8.0</id>
<link rel='self' href='https://git.tsegers.com/subsurface.git/atom?h=v4.8.0'/>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/'/>
<updated>2018-06-28T13:58:29Z</updated>
<entry>
<title>Dive pictures: render icons with white instead of transparent background</title>
<updated>2018-06-28T13:58:29Z</updated>
<author>
<name>Berthold Stoeger</name>
<email>bstoeger@mail.tuwien.ac.at</email>
</author>
<published>2018-05-20T20:35:29Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=1a5e54e5ebcadef899159c6145f52ef9934dd473'/>
<id>urn:sha1:1a5e54e5ebcadef899159c6145f52ef9934dd473</id>
<content type='text'>
The SVG icons for failed / still-loading pictures were rendered with an
alpha channel. This lead to strange behavior when hovering over the
icon in the profile plot: When hitting a "hole" the icon would be
minimized again.

Therefore, render the SVGs onto a white background.

Signed-off-by: Berthold Stoeger &lt;bstoeger@mail.tuwien.ac.at&gt;
</content>
</entry>
<entry>
<title>Add Cressi Giotto, Newton and Drake to list of devices</title>
<updated>2018-06-28T03:52:24Z</updated>
<author>
<name>Stephen Goodall</name>
<email>stephen.goodall88@googlemail.com</email>
</author>
<published>2018-06-28T03:15:32Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=b492df6ffcceaff170d765c28b6942ac66f759ad'/>
<id>urn:sha1:b492df6ffcceaff170d765c28b6942ac66f759ad</id>
<content type='text'>
Adding Cressi Giotto, Newton and Drake to the list of devices
that can be selected on Android devices.

Signed-off-by: Stephen Goodall &lt;stephen.goodall88@googlemail.com&gt;</content>
</entry>
<entry>
<title>QML UI: go back to always saving libdivecomputer logfile</title>
<updated>2018-06-27T23:01:12Z</updated>
<author>
<name>Dirk Hohndel</name>
<email>dirk@hohndel.org</email>
</author>
<published>2018-06-27T23:00:31Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=314b08c78f3860c4049a87badbf72f6fe1a62602'/>
<id>urn:sha1:314b08c78f3860c4049a87badbf72f6fe1a62602</id>
<content type='text'>
This got disabled as unintended (I hope) side effect of commit
807571a588 ("core: update deviceData default from qml").

Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>Add Cressi Leonardo to list of devices</title>
<updated>2018-06-27T17:43:26Z</updated>
<author>
<name>Stephen Goodall</name>
<email>stephen.goodall88@googlemail.com</email>
</author>
<published>2018-06-27T06:09:15Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=26871df84d113c7ffdd30208cab8462649315f29'/>
<id>urn:sha1:26871df84d113c7ffdd30208cab8462649315f29</id>
<content type='text'>
Adding Cressi Leonardo to the list of devices that can be selected
on Android devices.

Signed-off-by: Stephen Goodall &lt;stephen.goodall88@googlemail.com&gt;</content>
</entry>
<entry>
<title>Localization: make cache thread safe and robust against use-after-free</title>
<updated>2018-06-24T18:31:14Z</updated>
<author>
<name>Berthold Stoeger</name>
<email>bstoeger@mail.tuwien.ac.at</email>
</author>
<published>2018-06-17T21:28:44Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=db0dd54c376eb25263059075e5103f0849ef2ffe'/>
<id>urn:sha1:db0dd54c376eb25263059075e5103f0849ef2ffe</id>
<content type='text'>
The old trGettext() was not thread-safe and the returned C-strings
could be freed in the case of empty translations strings. Therefore:

1) Introduce a mutex protecting access to the cache.

2) Never change existing entries, even if the translation string is empty.

Signed-off-by: Berthold Stoeger &lt;bstoeger@mail.tuwien.ac.at&gt;
</content>
</entry>
<entry>
<title>Localization: remove gettextFromC::instance()</title>
<updated>2018-06-24T18:31:14Z</updated>
<author>
<name>Berthold Stoeger</name>
<email>bstoeger@mail.tuwien.ac.at</email>
</author>
<published>2018-06-17T19:03:16Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=879cb73b8bda364f63cc97c0f9963cfddc581add'/>
<id>urn:sha1:879cb73b8bda364f63cc97c0f9963cfddc581add</id>
<content type='text'>
There were a handfull instances of the kind
1) gettextFromC::instance()-&gt;tr(...)
2) gettextFromC::instance()-&gt;trGettext(...)

1) is pointless, as tr is a static function.

All instances of 2) were likewise pointless, because trGettext()
returns a C-string, which was then immediately converted to a
QString.

Thus, replace both constructs by gettextFromC::tr(...).

After this change there was only one user of gettextFromC::instance()
left, viz. the C-interface funtion trGettext(). Therefore, remove
gettextFromC::instance() and do all the caching / translating
directly in the global trGettext().

Signed-off-by: Berthold Stoeger &lt;bstoeger@mail.tuwien.ac.at&gt;
</content>
</entry>
<entry>
<title>Localization: don't go via C-string in qthelper.cpp</title>
<updated>2018-06-24T18:31:14Z</updated>
<author>
<name>Berthold Stoeger</name>
<email>bstoeger@mail.tuwien.ac.at</email>
</author>
<published>2018-06-17T18:42:19Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=61b8add59078f3a55dc02dc63639173be03fdf41'/>
<id>urn:sha1:61b8add59078f3a55dc02dc63639173be03fdf41</id>
<content type='text'>
The purpose of the gettextFromC class is twofold:
1) It provides a static storage of C strings if the C part needs
a translation and doesn't want to deal with memory-management.
2) It severs as a catch-all class for translations that do not come
from a proper class (i.e. from helper functions).

The second case was used a few times in qthelper.cpp. By using the
trGettext() function, a cached C-string was obtained. But in every
single instance, this C-string was then back-converted into a QString.
Therefore, use the gettextFromC::tr() function directly, which
returns a QString. Not only is the resulting code simpler - this also
avoids superfluous caching of translation strings.

Signed-off-by: Berthold Stoeger &lt;bstoeger@mail.tuwien.ac.at&gt;
</content>
</entry>
<entry>
<title>Fix interpretation of dive mode changes upon replan</title>
<updated>2018-06-24T07:35:55Z</updated>
<author>
<name>Robert C. Helling</name>
<email>helling@atdotde.de</email>
</author>
<published>2018-06-17T21:21:53Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=8406cbf1876658dc11f41784c3336908b3dc49a7'/>
<id>urn:sha1:8406cbf1876658dc11f41784c3336908b3dc49a7</id>
<content type='text'>
... by taking into acount that dive planner points refer
to the sement before the waypoint (while change mode
events are concerned with the future of a waypoint).

Signed-off-by: Robert C. Helling &lt;helling@atdotde.de&gt;
</content>
</entry>
<entry>
<title>Make planner notes divemode aware...</title>
<updated>2018-06-24T07:35:55Z</updated>
<author>
<name>Robert C. Helling</name>
<email>helling@atdotde.de</email>
</author>
<published>2018-06-17T21:20:59Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=4157365c9650007dad231143d67d559ab885b31d'/>
<id>urn:sha1:4157365c9650007dad231143d67d559ab885b31d</id>
<content type='text'>
... and fix a problem with setpoint changes shown in the wrong line

Signed-off-by: Robert C. Helling &lt;helling@atdotde.de&gt;
</content>
</entry>
<entry>
<title>Dive pictures: fix loading of remote images without local version</title>
<updated>2018-06-21T21:26:02Z</updated>
<author>
<name>Berthold Stoeger</name>
<email>bstoeger@mail.tuwien.ac.at</email>
</author>
<published>2018-06-20T19:41:18Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=c65617661a626c58c2fa14a438d6b6d4af5ce0a8'/>
<id>urn:sha1:c65617661a626c58c2fa14a438d6b6d4af5ce0a8</id>
<content type='text'>
Owing to the recent churn in imagedownloader.cpp, some of the
code was bogus.

Notably, in f60343eebbf6a31a4643dde9f4454f6ce84f61d3 the code
was changed such that always the local filename was used to access
the images. Yet, the old code remained, which after failure tried
again to access the local picture. This second access can obviously
be removed completely.

More seriously, after failing to load the local version, no
attempt was made to fetch the image via canonical filename. This
could produce the following sequence of events:
  - Import remote image
  - Delete thumbnail and local cache of image
  - Image loading would fail

Therefore, first try to load using local file-location. If
that fails, load using the canonical file-location. To do
so, split the file-access code in two functions. The code
should now be distinctly easier to follow.

Signed-off-by: Berthold Stoeger &lt;bstoeger@mail.tuwien.ac.at&gt;
</content>
</entry>
</feed>
