ScriptingWidget::~ScriptingWidget() { InterpreterManager* pInterMgr = dynamic_cast<InterpreterManager*>(mInterpreter.get()); if (pInterMgr != NULL) { Interpreter* pInterpreter = pInterMgr->getInterpreter(); if (pInterpreter != NULL) { pInterpreter->detach(SIGNAL_NAME(Interpreter, OutputText), Slot(this, &ScriptingWidget::receiveOutput)); pInterpreter->detach(SIGNAL_NAME(Interpreter, ErrorText), Slot(this, &ScriptingWidget::receiveOutput)); } } }