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 <[email protected]> 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
_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to