From 22ec2eaf6193ca673ad23ddbbe3ed895ed78fc67 Mon Sep 17 00:00:00 2001 From: rankun Date: Sun, 19 Jan 2020 21:29:36 +0800 Subject: [PATCH] fix: updateScript bug MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 没有及时delete m_inputConvert,持续点击更新脚本导致内存持续增长 2. 重新new m_inputConvert之后没有connect grabCursor,导致grabCursor失效 --- QtScrcpy/device/controller/controller.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/QtScrcpy/device/controller/controller.cpp b/QtScrcpy/device/controller/controller.cpp index ee78bb4..f9ce327 100644 --- a/QtScrcpy/device/controller/controller.cpp +++ b/QtScrcpy/device/controller/controller.cpp @@ -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()