What happened to the depth being shown on profile?

Dirk Hohndel dirk at hohndel.org
Wed Apr 20 10:26:11 PDT 2016


On Wed, Apr 20, 2016 at 09:38:06AM -0700, Dirk Hohndel wrote:
> On Wed, Apr 20, 2016 at 06:07:50PM +0200, Robert Helling wrote:
> > Hi,
> > 
> > > On 20.04.2016, at 17:39, Robert Helling <helling at atdotde.de> wrote:
> > > 
> > > But it is far from obvious how that would cause the problem.
> > 
> > 
> > I still have no idea what is going on. It is the hunk
> > 
> > @@ -179,7 +181,10 @@ void DivePlotDataModel::setDive(dive *d, const plot_info &info)
> >         Q_ASSERT(d != NULL);
> >         diveId = d->id;
> >         dcNr = dc_number;
> > +       free(pInfo.entry);
> >         pInfo = info;
> > +       pInfo.entry = (struct plot_data *)malloc(sizeof(struct plot_data) * pInfo.nr);
> > +       memcpy(pInfo.entry, info.entry, sizeof(plot_data) * pInfo.nr);
> >         beginInsertRows(QModelIndex(), 0, pInfo.nr - 1);
> >         endInsertRows();
> >  }
> > 
> > in diveplotdatamodel.cpp. Unding that makes the depth show up. I have no idea why and I have to run now.
> > 
> > Somebody else for the rescue!
> 
> That does narrow it down quite a bit indeed. I'm always thrilled when it
> is something that seemed obvious to me at the time is found to be the
> reason for a bug like this.
> 
> Thanks Robert! Appreciate the help. I'll try to find time to stare at this
> some more to see why it breaks things.

Oh boy... that data structure, umm, does not lend itself well to copying.
It interenally has pointers into itself. Yikes. I'll try to fix this.

/D


More information about the subsurface mailing list