fix: updateScript bug

1. 没有及时delete m_inputConvert,持续点击更新脚本导致内存持续增长
2. 重新new m_inputConvert之后没有connect grabCursor,导致grabCursor失效
This commit is contained in:
rankun 2020-01-19 21:29:36 +08:00
parent f0e99b5a51
commit 22ec2eaf61

View file

@ -13,8 +13,6 @@ Controller::Controller(QString gameScript, QObject* parent) : QObject(parent)
Q_ASSERT(m_receiver);
updateScript(gameScript);
Q_ASSERT(m_inputConvert);
connect(m_inputConvert, &InputConvertBase::grabCursor, this, &Controller::grabCursor);
}
Controller::~Controller()
@ -47,6 +45,9 @@ void Controller::test(QRect rc)
void Controller::updateScript(QString gameScript)
{
if (m_inputConvert) {
delete m_inputConvert;
}
if (!gameScript.isEmpty()) {
InputConvertGame* convertgame = new InputConvertGame(this);
convertgame->loadKeyMap(gameScript);
@ -54,7 +55,8 @@ void Controller::updateScript(QString gameScript)
} else {
m_inputConvert = new InputConvertNormal(this);
}
Q_ASSERT(m_inputConvert);
connect(m_inputConvert, &InputConvertBase::grabCursor, this, &Controller::grabCursor);
}
void Controller::postTurnOn()