fixed various caching issues

This commit is contained in:
itsmattkc
2019-09-02 22:58:44 +10:00
parent 3a9af58344
commit 12bc5839a6
19 changed files with 196 additions and 61 deletions
+12
View File
@@ -149,11 +149,17 @@ NodeEdgePtr NodeParam::ConnectEdge(NodeOutput *output, NodeInput *input)
NodeEdgePtr edge = std::make_shared<NodeEdge>(output, input);
output->parent()->Lock();
input->parent()->Lock();
output->edges_.append(edge);
input->edges_.append(edge);
input->ClearCachedValue();
output->parent()->Unlock();
input->parent()->Unlock();
// Emit a signal than an edge was added (only one signal needs emitting)
emit input->EdgeAdded(edge);
@@ -165,11 +171,17 @@ void NodeParam::DisconnectEdge(NodeEdgePtr edge)
NodeOutput* output = edge->output();
NodeInput* input = edge->input();
output->parent()->Lock();
input->parent()->Lock();
output->edges_.removeAll(edge);
input->edges_.removeAll(edge);
input->ClearCachedValue();
output->parent()->Unlock();
input->parent()->Unlock();
emit input->EdgeRemoved(edge);
}