diff --git a/toonz/sources/tnztools/geometrictool.cpp b/toonz/sources/tnztools/geometrictool.cpp index 38a1f46..1dbbe23 100644 --- a/toonz/sources/tnztools/geometrictool.cpp +++ b/toonz/sources/tnztools/geometrictool.cpp @@ -892,7 +892,10 @@ public: void changeType(std::wstring name) { std::map::iterator it = m_primitiveTable.find(name); - if (it != m_primitiveTable.end()) m_primitive = it->second; + if (it != m_primitiveTable.end()) { + if (m_primitive) m_primitive->onDeactivate(); + m_primitive = it->second; + } } void leftButtonDown(const TPointD &p, const TMouseEvent &e) override {