mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Apparently in some cases there is a race condition where the action to delete a dive is still running while a corresponding QML object (but not that action itself) is being deleted, likely because the action is becoming invisible once the dive is actually deleted. I'm speculating that this may be somewhere inside the delegates for the repeater showing the actions in the context drawer. This commit is a bit of a convoluted hack. We create a property to hold the dive id to be deleted and then call a function to delete that dive via a timer. This of course creates a blatant race condition in itself - but the user is extremely unlikely to be able to use the context menu to delete two different dives within 100ms. The code tries to keep that race window as small as possible. There has got to be a better way to do this. Signed-off-by: Dirk Hohndel <dirk@hohndel.org> |
||
|---|---|---|
| .. | ||
| 3rdparty | ||
| qml | ||
| CMakeLists.txt | ||
| qmlinterface.cpp | ||
| qmlinterface.h | ||
| qmlmanager.cpp | ||
| qmlmanager.h | ||
| statsmanager.cpp | ||
| statsmanager.h | ||
| themeinterface.cpp | ||
| themeinterface.h | ||