mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Not everything can be done with the diveId
In commit c3fe1a9e9f
("Get rid of pointers to dive structures in the
UI") I was a bit too aggressive moving away from pointers to dives.
This is only needed for pointers that are held across operations that
could change the dive_table. I figured that it wouldn't hurt to get rid of
some more pointers as well, but it turns out I was wrong. The current dive
that we store in the Cylinder and Weight models can be a dive that isn't
in the dive_table at all: the multiEditEquipmentPlaceholder. And when
using the diveId we end up finding the original dive in the dive_table and
therefore modify the wrong structure.
This undoes two thirds of the above mentioned commit.
Reported-and-analyzed-by: Patrick Valsecchi <patrick@thus.ch>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
a8db19f548
commit
409c2e9bcf
2 changed files with 6 additions and 30 deletions
|
@ -101,7 +101,7 @@ public slots:
|
|||
void remove(const QModelIndex& index);
|
||||
|
||||
private:
|
||||
int currentId;
|
||||
struct dive *current;
|
||||
int rows;
|
||||
};
|
||||
|
||||
|
@ -130,7 +130,7 @@ public slots:
|
|||
void remove(const QModelIndex& index);
|
||||
|
||||
private:
|
||||
int currentId;
|
||||
struct dive *current;
|
||||
int rows;
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue