great progress on dive site handling

Miika Turkia miika.turkia at gmail.com
Mon Jun 29 02:09:23 PDT 2015


On Mon, Jun 29, 2015 at 12:05 AM, Dirk Hohndel <dirk at hohndel.org> wrote:
> On Sun, Jun 28, 2015 at 05:27:16PM +0800, Miika Turkia wrote:
>> >
>> > With the commit I just pushed the following happens.
>> >
>> > IFF you have a dive site that was downloaded from the companion app and
>> > IFF you either type in a new name or you type in an existing dive site
>> > name that has no GPS data,
>> > THEN the GPS data from the downloaded fix will be used and added to the
>> > new dive site that is created (or the existing dive site that didn't have
>> > a GPS fix).
>>
>> This sounds like sane logic to me. However, I do also see your concern
>> about this if one only records the site name on that field. I still
>> type the locations like "Indonesia - Lembeh Strait - Hairball" so I am
>> not going to change a Blue Hole in Belize into a Blue Hole in Egypt
>> (if there are no previous coordinates for the site).
>
> So once you have GPS data we will show the tags that you have chosen
> (Country, State, whatever) in the UI. I'm not 100% clear how we should do
> this when "autocompleting" but given the workflow that you and Linus
> describe my guess is that we'd update those tags as well as we see and
> find a awy to make sure that dive sites with identical names but different
> GPS locations are handled in a somewhat sane manner... I can kind of
> envision how this would look... Tomaz will love me for this...

I have actually never seen these tags to be added. Now I see that I
need to enable it in the prefs...

> So let's say you have three different GPS coordinates for Blue Hole. One
> in Belize, two in Palau that are different anchoring spots. As you type
> "Blue H" your autocompletion shows three lines of Blue Hole. As you use
> cursor up and down to scroll through them the tags above the location
> field change to "Belize" and "Palau", respectively, and the map jumps (not
> flies, that's to slow) to the correct marker - this way you can even tell
> the different anchor points appart even though you just entered the name.
>
> Which other possible workflow am I still missing with this?
>
>> Seems that I get an empty location field on first name edit, and
>> second edit sticks.
>
> Can you explain the steps that got you to the empty location field?
> I tried a few scenarios and can't reproduce that.

This time I was not able to edit the Location without restarting
subsurface. Following steps:
- Download from DC
- Download from second DC
- Sync GPS
- Try to edit locations

I guess I will have to try to remember your workflow, so things will
be easier for me :D

>> >> >> - It would be great if the currently selected divesite was highlighted
>> >> >> somehow on the map, it is really hard to spot it now when the sites
>> >> >> are close to each other, maybe the dive map changed or something to
>> >> >> ensure the correct spot is recognized.
>> >> >
>> >> > That has been unchanged for a long time. I'll think about something.
>> >>
>> >> Yes, I have suffered from it for years :) Anyway, it is more prominenet
>> >> when using the companion app and trying to see where the last dive was..
>> >
>> > Changes that implement that have been pushed as well. The current dive now
>> > has a 25% bigger and quite significantly brighter flag.
>>
>> Just got a crash when trying to test this out.
>>
>> ---8<---
>> Program received signal SIGSEGV, Segmentation fault.
>> [Switching to Thread 0x7fff748dc700 (LWP 25410)]
>> Marble::StackedTile::pixel (this=0x0, x=36, y=30) at
>> /home/mturkia/source/static/test/marble-source/src/lib/marble/StackedTile.cpp:85
>> 85        if ( m_depth == 8 ) {
>
> Are you sure that you are linked against a library that these sources are
> from? It seems pretty hard to me to get a SIGSEGV on that line...
>
>> (gdb) bt
>> #0  Marble::StackedTile::pixel (this=0x0, x=36, y=30) at /home/mturkia/source/static/test/marble-source/src/lib/marble/StackedTile.cpp:85
>
> Hmm. this=0x0 - that would explain the crash when accessing a member of
> this object. But how the heck did you get there?
>
>> #1  0x00007ffff654036c in Marble::ScanlineTextureMapperContext::pixelValueApprox (this=0x7fff748dbd50, lon=<optimized out>, lat=<optimized out>, scanLine=0x240b660, n=<optimized out>)
>>     at /home/mturkia/source/static/test/marble-source/src/lib/marble/ScanlineTextureMapperContext.cpp:316
>> #2  0x00007ffff654196d in Marble::SphericalScanlineTextureMapper::RenderJob::run (this=<optimized out>) at /home/mturkia/source/static/test/marble-source/src/lib/marble/SphericalScanlineTextureMapper.cpp:271
>> #3  0x00007ffff2c25af0 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
>> #4  0x00007ffff2c28b0e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
>> #5  0x00007ffff69676aa in start_thread (arg=0x7fff748dc700) at pthread_create.c:333
>> #6  0x00007ffff2094eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
>
> No clue. Obviously this worked for me (and I tried jumping around between
> dive sites, etc).

Happens to me quite frequently. Once I have working Internet, I'll try
to do full build.sh and see if that helps.

miika


More information about the subsurface mailing list