<feed xmlns='http://www.w3.org/2005/Atom'>
<title>subsurface.git/core, branch v4.9.3</title>
<subtitle>forked from https://github.com/subsurface/subsurface</subtitle>
<id>https://git.tsegers.com/subsurface.git/atom?h=v4.9.3</id>
<link rel='self' href='https://git.tsegers.com/subsurface.git/atom?h=v4.9.3'/>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/'/>
<updated>2019-08-29T19:55:25Z</updated>
<entry>
<title> Fix broken windows build with latest MXE</title>
<updated>2019-08-29T19:55:25Z</updated>
<author>
<name>Paul Buxton</name>
<email>paulbuxton.mail@googlemail.com</email>
</author>
<published>2019-08-28T09:21:24Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=3c4fd5d5999db218878563a98e9c76903d63d2bb'/>
<id>urn:sha1:3c4fd5d5999db218878563a98e9c76903d63d2bb</id>
<content type='text'>
Replaces some enums with names that do not clash with windows #defines.
Specifically:
ERROR -&gt; ERRORED, PASCAL-&gt;PASCALS, IGNORE-&gt;IGNORED,FLOAT-&gt;FLOATVAL

Signed-off-by: Paul Buxton &lt;paulbuxton.mail@googlemail.com&gt;
</content>
</entry>
<entry>
<title>Fix new CNS calculation - remove error with factor of 10</title>
<updated>2019-08-28T20:28:30Z</updated>
<author>
<name>Stefan Fuchs</name>
<email>sfuchs@gmx.de</email>
</author>
<published>2019-08-28T15:53:28Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=193c456f06c022c1d83d4f0238c46c541a726c3c'/>
<id>urn:sha1:193c456f06c022c1d83d4f0238c46c541a726c3c</id>
<content type='text'>
Fix a typo in the new CNS calculation which introduced a error of
factor 10.

Signed-off-by: Stefan Fuchs &lt;sfuchs@gmx.de&gt;
</content>
</entry>
<entry>
<title>Profile: properly initialize plot_info structures</title>
<updated>2019-08-28T14:10:09Z</updated>
<author>
<name>Berthold Stoeger</name>
<email>bstoeger@mail.tuwien.ac.at</email>
</author>
<published>2019-08-25T10:56:41Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=25b30da2446d9daf8343c246056b207d285582e7'/>
<id>urn:sha1:25b30da2446d9daf8343c246056b207d285582e7</id>
<content type='text'>
The create_plot_info_new() function releases old plot data. This
can only work if the plot_info structure was initialized previously.
The ProfileWidget2 did that by a memset, but other parts of the code
did not.

Therefore, introduce a init_plot_info() function and call that when
generating a plot_info struct. Constructors would make this so much
easier - but since this is called from C, we can't use them.

Fixes #2251

Signed-off-by: Berthold Stoeger &lt;bstoeger@mail.tuwien.ac.at&gt;
</content>
</entry>
<entry>
<title>Show surface degassing in the planner only when configured time != 0</title>
<updated>2019-08-26T11:19:06Z</updated>
<author>
<name>Stefan Fuchs</name>
<email>sfuchs@gmx.de</email>
</author>
<published>2019-08-25T18:05:05Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=0e55739f03d15b93a678e29bb1af26ff703f0c2f'/>
<id>urn:sha1:0e55739f03d15b93a678e29bb1af26ff703f0c2f</id>
<content type='text'>
This prevents from useless "Air" tag in profile when this feature is
not used.

Signed-off-by: Stefan Fuchs &lt;sfuchs@gmx.de&gt;
</content>
</entry>
<entry>
<title>Update libdivecomputer to support the Aqualung i200c</title>
<updated>2019-08-24T22:02:50Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2019-08-24T21:10:25Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=d570cb789f4960b890b045a1512b0350dad5a795'/>
<id>urn:sha1:d570cb789f4960b890b045a1512b0350dad5a795</id>
<content type='text'>
I got confirmation from Tiago Thedim Dias that my libdivecomputer patch
makes BLE downloading work from the i200c, and already pushed out the
libdivecomputer changes earlier.  This updates the subproject in
subsurface to have those changes.

This also adds the bluetooth name patterns for the i300c and a few other
Aqualung dive computers we hadn't added yet.  That should make them show
up in the bleutooth device list even without having to check the "Show
all bluetooth devices" check-box.

Tiago claims he didn't need that, and I wonder if we have some overly
permissive match somewhere, but it's the right thing to do regardless.

Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Grantlee: generate vector of cylinder data on-demand</title>
<updated>2019-08-22T17:13:40Z</updated>
<author>
<name>Berthold Stoeger</name>
<email>bstoeger@mail.tuwien.ac.at</email>
</author>
<published>2019-08-12T16:43:21Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=e6cd4f8ae5d8b0bbc8e517b88d4ddc6045657227'/>
<id>urn:sha1:e6cd4f8ae5d8b0bbc8e517b88d4ddc6045657227</id>
<content type='text'>
Instead of generating cylinder data in the form of
CylinderObjectHelper objects for every DiveObjectHelper,
generate it only if needed. DiveObjectHelper is used extensively
in the mobile interface, which doesn't use the cylinder data.
Let's not generate unnecessary CylinderObjectHelpers in this
case!

Signed-off-by: Berthold Stoeger &lt;bstoeger@mail.tuwien.ac.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: turn CylinderObjectHelper into value type</title>
<updated>2019-08-22T17:13:40Z</updated>
<author>
<name>Berthold Stoeger</name>
<email>bstoeger@mail.tuwien.ac.at</email>
</author>
<published>2019-08-12T16:26:42Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=f25fa2adc5dd37aca17335d8278fd00e39e9b733'/>
<id>urn:sha1:f25fa2adc5dd37aca17335d8278fd00e39e9b733</id>
<content type='text'>
CylinderObjectHelper is used for structured formatting of cylinder
values in grantlee types. Instead of keeping a reference to a
cylinder, turn it into a value type containing the formatted strings.

This should be distinctly safer, as we don't risk having stale
references flying around. Moreover, we don't have to use pointers
but can use containers containing plain CylinderObjectHelper. Thus,
no explicit memory management is needed, making the code distinctly
easier to understand.

Sadly, currently grantlee does not support Q_GADGET based Q_PROPERTY.
Therefore a GRANTLEE_*_LOOKUP block has to be added. This can be
removed in due course, as a patch to remedy this issue is in current
grantlee master.

Signed-off-by: Berthold Stoeger &lt;bstoeger@mail.tuwien.ac.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: don't include dive.h in CylinderObjectHelper.hpp</title>
<updated>2019-08-22T17:13:40Z</updated>
<author>
<name>Berthold Stoeger</name>
<email>bstoeger@mail.tuwien.ac.at</email>
</author>
<published>2019-08-12T16:14:14Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=0d045f8c1470e011e0beff0ff0b0ec85975272e6'/>
<id>urn:sha1:0d045f8c1470e011e0beff0ff0b0ec85975272e6</id>
<content type='text'>
This only needs the declaration of cylinder_t, which is
found in equipment.h

Signed-off-by: Berthold Stoeger &lt;bstoeger@mail.tuwien.ac.at&gt;
</content>
</entry>
<entry>
<title>Replace table interpolation by two line fit for CNS</title>
<updated>2019-08-20T16:32:07Z</updated>
<author>
<name>Robert C. Helling</name>
<email>helling@atdotde.de</email>
</author>
<published>2019-08-17T19:46:00Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=a0912b38bd7b8f36c9c106a890820e24e70324ff'/>
<id>urn:sha1:a0912b38bd7b8f36c9c106a890820e24e70324ff</id>
<content type='text'>
We used a table lookup for CNS equivalent times. Turns
out the log of this table falls pretty much on a straight
line for po2 &lt;= 1.5bar. We now fit this tabel two two
lines, one for &lt;= 1.5 bar and one above. This four
parameter fit has half the sum of errors squared
than the five parameter fit using a fourth order
polynomial.

Fitting the log has the advantage that this never
crosses 0, which would have the bad effect of
resulting in negative CNS values as we divide
by the table value.

We don't adopt a maximum pO2 cut-off for the CNS calculation
but rather live with the large values that the interpolation
formula produces when extrapolating.

Signed-off-by: Robert C. Helling &lt;helling@atdotde.de&gt;
</content>
</entry>
<entry>
<title>Fix the dive site XML saving</title>
<updated>2019-08-19T19:28:20Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2019-08-19T18:21:57Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=8c408da9abcc001b0aa469e56818dde542897db0'/>
<id>urn:sha1:8c408da9abcc001b0aa469e56818dde542897db0</id>
<content type='text'>
It turns out that the dive site saving was subtly but horribly buggy.
To save the value of the dive site, it did

    show_utf8_blanked(b, t-&gt;value, " value='", "'/&gt;\n", 1, anonymize);

which looks sane on the face of it, but the problem is that it puts the
final closing xml marker in the 'append this at the end' case.

That means that if the value is empty, the value won't be saved, but
neither will the closing tag.  Resulting in an xml line that looks like
this:

  &lt;geo cat='3' origin='0'  &lt;geo cat='5' origin='0' value='Other name'/&gt;

where the first geo tag was saved without the ending marker.

That then makes all the xml nesting entirely wrong, and the whole file
fails to save.

Now, the code around it does check that 't-&gt;value' is not NULL, but it
doesn't check for a value that is empty or all spaces (which also will
make 'show_utf8()' just skip it.

Fix it by saving the end marker separately:

    show_utf8_blanked(b, t-&gt;value, " value='", "'", 1, anonymize);
    put_format(b, "/&gt;\n");

so that the xml is valid even if the goe marker value wasn'r.

Reported-by: Bob Barker &lt;barkerb1965@gmail.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
