<feed xmlns='http://www.w3.org/2005/Atom'>
<title>subsurface.git/desktop-widgets, branch master</title>
<subtitle>forked from https://github.com/subsurface/subsurface</subtitle>
<id>https://git.tsegers.com/subsurface.git/atom?h=master</id>
<link rel='self' href='https://git.tsegers.com/subsurface.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/'/>
<updated>2021-10-11T17:53:41Z</updated>
<entry>
<title>desktop: fix div-by-zero when selecting multiple invalid dives</title>
<updated>2021-10-11T17:53:41Z</updated>
<author>
<name>Tim Segers</name>
<email>tsegers@pm.me</email>
</author>
<published>2021-10-11T16:53:52Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=b618d932413b3226faa7f29f719a1cabf2bc5bf9'/>
<id>urn:sha1:b618d932413b3226faa7f29f719a1cabf2bc5bf9</id>
<content type='text'>
Signed-off-by: Tim Segers &lt;tsegers@pm.me&gt;
</content>
</entry>
<entry>
<title>desktop/image-time-shift: use better filename filter</title>
<updated>2021-09-22T16:09:12Z</updated>
<author>
<name>Dirk Hohndel</name>
<email>dirk@hohndel.org</email>
</author>
<published>2021-09-20T13:34:11Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=f50585a906bd05d71e8b1d5cfc90b2e1959a6ced'/>
<id>urn:sha1:f50585a906bd05d71e8b1d5cfc90b2e1959a6ced</id>
<content type='text'>
We already have a function to select all supported image formats. Let's
just use that.

Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>desktop/image-time-shift: reorder UI</title>
<updated>2021-09-22T16:09:12Z</updated>
<author>
<name>Tim Segers</name>
<email>tsegers@pm.me</email>
</author>
<published>2021-09-10T19:25:48Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=10798c2a8d33c5c3c8ea99c88ee9b72e3b31c60d'/>
<id>urn:sha1:10798c2a8d33c5c3c8ea99c88ee9b72e3b31c60d</id>
<content type='text'>
The camera sync feature has been moved above the Ok and Cancel buttons
and given its own descriptive header. The checkbox to ignore unaligned
image timestamps has been moved closer to the buttons.

Signed-off-by: Tim Segers &lt;tsegers@pm.me&gt;
Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>desktop/image: allow larger range for manual time shift</title>
<updated>2021-09-22T16:09:12Z</updated>
<author>
<name>Dirk Hohndel</name>
<email>dirk@hohndel.org</email>
</author>
<published>2021-09-20T14:09:41Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=4167b2ff14f560fb26a6789beed0c68941f14ab1'/>
<id>urn:sha1:4167b2ff14f560fb26a6789beed0c68941f14ab1</id>
<content type='text'>
The QTimeEdit field is severely limited when it comes to the supported
time range. By coding our own input / validation we can allow far larger
time shifts. For simplicity, this always assumes hours:minutes format.

Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>desktop: add support for camera sync delta of more than 24h</title>
<updated>2021-09-22T16:09:12Z</updated>
<author>
<name>Tim Segers</name>
<email>tsegers@pm.me</email>
</author>
<published>2021-09-10T19:23:42Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=6ea4cfcc02f3af97d41018c80e16462216e382a8'/>
<id>urn:sha1:6ea4cfcc02f3af97d41018c80e16462216e382a8</id>
<content type='text'>
When using the camera sync feature to sync media to the dive timeline,
the calculated time difference was considered invalid if it was more
than 24 hours.

To prevent this, this commit disables the manual time offset input
fields when the camera sync button is clicked. It then uses the epoch
difference in the final offset calculation, enabling arbitrary time
differences between camera and divecomputer.

Signed-off-by: Tim Segers &lt;tsegers@pm.me&gt;
Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>Re-do the libdivecomputer fingerprint save/load code</title>
<updated>2021-09-19T23:51:46Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2021-09-19T01:52:50Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=85392343fa393054ddd3446aa38c3be941eb02c5'/>
<id>urn:sha1:85392343fa393054ddd3446aa38c3be941eb02c5</id>
<content type='text'>
This tries to make our fingerprinting code work better, by avoiding
using the "deviceid" field that has always been unreliable because we've
calculated it multiple different ways, and even for the same version of
subsurface, it ends up changing in the middle (ie we calculate one value
initially, then re-calculate it when we have a proper serial number
string).

So instead, the fingerprinting code will look up and save the
fingerprint file using purely "stable" information that is available
early during the download:

 - the device model name (which is a string with vendor and product name
   separated by a space)

 - the DC_EVENT_DEVINFO 32-bit 'serial' number (which is not necessarily
   a real serial number at all, but hopefully at least a unique number
   for the particular product)

but because the model name is not necessarily a good filename (think
slashes and other possibly invalid characters), we hash that model name
and use the resulting hex number in the fingerprint file name.

This way the fingerprint file is unambiguous at load and save time, and
depends purely on libdivecomputer data.

But because we also need to verify that we have the actual _dive_
associated with that fingerprint, we also need to save the final
deviceid and diveid when saving the fingerprint file, so that when we
load it again we can look up the dive and verify that we have it before
we use the fingerprint data.

To do that, the fingerprint file itself contains not just the
fingerprint data from libdivecomputer, but the last 8 bytes of the file
are the (subsurface) deviceid and the diveid of the dive that is
associated with the fingerprint.

Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>desktop: warn when deleting a cylinder with sensor readings</title>
<updated>2021-09-03T20:35:28Z</updated>
<author>
<name>Berthold Stoeger</name>
<email>bstoeger@mail.tuwien.ac.at</email>
</author>
<published>2021-09-02T17:11:35Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=9376721873f9897dcc2a451b5b8e0c56ca82f939'/>
<id>urn:sha1:9376721873f9897dcc2a451b5b8e0c56ca82f939</id>
<content type='text'>
This makes the sensors pointless and in the future, they
will be removed.

Signed-off-by: Berthold Stoeger &lt;bstoeger@mail.tuwien.ac.at&gt;
</content>
</entry>
<entry>
<title>Remove the divecomputer naming tab</title>
<updated>2021-08-18T20:22:02Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2021-08-17T04:15:54Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=ba6f7361da873609d72ab4ba3b1d55edd8f5569d'/>
<id>urn:sha1:ba6f7361da873609d72ab4ba3b1d55edd8f5569d</id>
<content type='text'>
The TabDiveComputer model won't work in the new world order, where you
can't even insert a new device entry without a nickname to be edited.

Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>desktop: fix crash when right-clicking of trip headers</title>
<updated>2021-08-12T18:57:26Z</updated>
<author>
<name>Berthold Stoeger</name>
<email>bstoeger@mail.tuwien.ac.at</email>
</author>
<published>2021-08-12T06:26:08Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=67769235e78e7963a093bcf84e3b27ad1a0b8d6c'/>
<id>urn:sha1:67769235e78e7963a093bcf84e3b27ad1a0b8d6c</id>
<content type='text'>
Commit e42fc1a1e9a13c77d3474dbcb26b68b8772b8c6d introduced a
crash condition. Apparently the code attempts to test whether
the clicked-on item is a top-level dive. The "Collapse others"
menu item should not be shown in that case. It does this by
testing "d-&gt;divetrip". However, "d" might quite logically be
null if clicking on an unexpanded trip header.

Therefore, check explicitly for the trip header case (which
should show the menu item) and for good measure prevent
the nullpointer access (that should be caught by testing
for trip, but who knows).

Fixes #3301.

Signed-off-by: Berthold Stoeger &lt;bstoeger@mail.tuwien.ac.at&gt;
</content>
</entry>
<entry>
<title>cleanup: replace membuffer by membufferpp in C-code</title>
<updated>2021-07-23T18:22:43Z</updated>
<author>
<name>Berthold Stoeger</name>
<email>bstoeger@mail.tuwien.ac.at</email>
</author>
<published>2021-07-20T05:45:31Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=16b31985c3245d5cb3be26f3cc0aa06bc6acb139'/>
<id>urn:sha1:16b31985c3245d5cb3be26f3cc0aa06bc6acb139</id>
<content type='text'>
Thus, the membuffer data is automatically freed when going
out of scope - one thing less to worry about.

This fixes one use-after-free bug in uploadDiveLogsDE.cpp
and one extremely questionable practice in divetooltipitem.cpp:
The membuffer was a shared instance across all instances
of the DiveToolTipItem.

Remves unnecessary #include directives in files that didn't
even use membuffer.

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