From a27662dc0844cf9104967717076123ac73a667c5 Mon Sep 17 00:00:00 2001 From: Chethan2k1 <40890937+Chethan2k1@users.noreply.github.com> Date: Thu, 10 Sep 2020 13:25:49 +0530 Subject: [PATCH] Making sure Verification Objects are deleted properly --- .../DeviceVerification.qml | 28 +++++++++---------- src/DeviceVerificationFlow.cpp | 4 +++ src/DeviceVerificationFlow.h | 1 + 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/resources/qml/device-verification/DeviceVerification.qml b/resources/qml/device-verification/DeviceVerification.qml index b5c53a4a..6e4b4621 100644 --- a/resources/qml/device-verification/DeviceVerification.qml +++ b/resources/qml/device-verification/DeviceVerification.qml @@ -82,9 +82,9 @@ ApplicationWindow { verticalAlignment: Text.AlignVCenter } onClicked: { - dialog.close(); deviceVerificationList.remove(tran_id); - delete flow; + flow.deleteFlow(); + dialog.destroy(); } } Item { @@ -141,9 +141,9 @@ ApplicationWindow { verticalAlignment: Text.AlignVCenter } onClicked: { - dialog.close(); flow.cancelVerification(DeviceVerificationFlow.User); deviceVerificationList.remove(tran_id); + dialog.destroy(); } } Item { @@ -205,9 +205,9 @@ ApplicationWindow { verticalAlignment: Text.AlignVCenter } onClicked: { - dialog.close(); flow.cancelVerification(DeviceVerificationFlow.User); deviceVerificationList.remove(tran_id); + dialog.destroy(); } } Item { @@ -266,10 +266,10 @@ ApplicationWindow { horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter } - onClicked: { - dialog.close(); + onClicked: { flow.cancelVerification(DeviceVerificationFlow.MismatchedSAS); deviceVerificationList.remove(tran_id); + dialog.destroy(); } } Item { @@ -425,10 +425,10 @@ ApplicationWindow { horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter } - onClicked: { - dialog.close(); + onClicked: { flow.cancelVerification(DeviceVerificationFlow.MismatchedSAS); deviceVerificationList.remove(tran_id); + dialog.destroy(); } } Item { @@ -487,9 +487,9 @@ ApplicationWindow { verticalAlignment: Text.AlignVCenter } onClicked: { - dialog.close(); flow.cancelVerification(DeviceVerificationFlow.User); deviceVerificationList.remove(tran_id); + dialog.destroy(); } } Item { @@ -534,9 +534,9 @@ ApplicationWindow { verticalAlignment: Text.AlignVCenter } onClicked: { - dialog.close() deviceVerificationList.remove(tran_id); - delete flow; + flow.deleteFlow(); + dialog.destroy(); } } } @@ -578,8 +578,8 @@ ApplicationWindow { verticalAlignment: Text.AlignVCenter } onClicked: { - dialog.close(); deviceVerificationList.remove(tran_id); + dialog.destroy(); } } } @@ -622,9 +622,9 @@ ApplicationWindow { } text: qsTr("Close") onClicked: { - dialog.close() deviceVerificationList.remove(tran_id); - delete flow; + flow.deleteFlow(); + dialog.destroy() } } } diff --git a/src/DeviceVerificationFlow.cpp b/src/DeviceVerificationFlow.cpp index ae054af7..70cc0baf 100644 --- a/src/DeviceVerificationFlow.cpp +++ b/src/DeviceVerificationFlow.cpp @@ -41,6 +41,10 @@ DeviceVerificationFlow::DeviceVerificationFlow(QObject *, this->deleteLater(); }); + connect(this,&DeviceVerificationFlow::deleteFlow,this,[this](){ + this->deleteLater(); + }); + connect( ChatPage::instance(), &ChatPage::recievedDeviceVerificationStart, diff --git a/src/DeviceVerificationFlow.h b/src/DeviceVerificationFlow.h index c2150980..b85cbec2 100644 --- a/src/DeviceVerificationFlow.h +++ b/src/DeviceVerificationFlow.h @@ -105,6 +105,7 @@ signals: void timedout(); void verificationCanceled(); void refreshProfile(); + void deleteFlow(); private: // general