disconnect input signals when destroying

Fixes a "pure virtual method" crash. The inputs will try to send invalidate
cache signals through the node while it's being destroyed if these are left
connected. There's no purpose to sending invalidate cache signals since any
nodes affected by this one will automatically invalidate the cache from its
outputs being disconnected and the node being destroyed so this shouldn't
cause issues.
This commit is contained in:
itsmattkc
2019-12-02 01:32:16 +11:00
parent 49ba65917f
commit 07cb0bc44a
2 changed files with 31 additions and 43 deletions
+4 -7
View File
@@ -280,13 +280,6 @@ protected:
*/
void AddParameter(NodeParam* param);
/**
* @brief Deletes the parameter from this Node
*
* The NodeParam object is destroyed in the process.
*/
void RemoveParameter(NodeParam* param);
/**
* @brief Retrieve the last timecode Process() was called with
*/
@@ -327,6 +320,10 @@ signals:
private:
bool HasParamOfType(NodeParam::Type type, bool must_be_connected);
void ConnectInput(NodeInput* input);
void DisconnectInput(NodeInput* input);
QList<NodeParam *> params_;
/**