DAG: Add method hasRecord() and use it in Model::slotChangeObject

to avoid a possible failing assert().

Fixes #17572
This commit is contained in:
wmayer
2024-10-30 19:28:41 +01:00
committed by Yorik van Havre
parent 4790cabca5
commit d7c49329a2
3 changed files with 21 additions and 6 deletions

View File

@@ -55,6 +55,14 @@ bool Gui::DAG::hasRecord(const App::DocumentObject* dObjectIn, const GraphLinkCo
return it != list.end();
}
bool Gui::DAG::hasRecord(const ViewProviderDocumentObject* VPDObjectIn, const GraphLinkContainer &containerIn)
{
using List = GraphLinkContainer::index<GraphLinkRecord::ByVPDObject>::type;
const List &list = containerIn.get<GraphLinkRecord::ByVPDObject>();
List::const_iterator it = list.find(VPDObjectIn);
return it != list.end();
}
const GraphLinkRecord& Gui::DAG::findRecord(Vertex vertexIn, const GraphLinkContainer &containerIn)
{
using List = GraphLinkContainer::index<GraphLinkRecord::ByVertex>::type;