In my NMEA data the order of lines is
$GPRMC, ... $GPGGA, ...
When handling the first pair of these lines and creating the first (track)point from them, the point is already written after parsing/handling the RMC part. At this moment the elevation is not yet properly initialised (still NOFLOAT). The correct elevation is obtained only after handling the GGA part of the pair and it doesn't reach the already saved first point.
The following pairs of NMEA lines are handled differently. The point is created only after handling the GGA part.
It seems to me that something goes wrong with the last if statement in CRtGpsTetherInfo::slotReadyRead().
Adding `"ele != NOFLOAT"`` to the statement
if(toolRecord->isChecked() && _record != nullptr && lon != NOFLOAT && lat != NOFLOAT )
might avoid this early saving of data, but I'm not sure what happens if the GGA part is without a valid elevation (I don't know what happens in
gga.altAboveSeaLevel = tokens.toDouble();
if the tokens field is empty or wrong).