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:
+4
-7
@@ -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_;
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user