From 4f12e13a7ee80272c6202d7fbef6486fd8861ac8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=89=E5=9D=A4?= Date: Sat, 11 Jun 2022 22:31:19 +0800 Subject: [PATCH] fix: crash on repeat disconnect --- QtScrcpy/ui/dialog.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/QtScrcpy/ui/dialog.cpp b/QtScrcpy/ui/dialog.cpp index 1683cf6..5edfb08 100644 --- a/QtScrcpy/ui/dialog.cpp +++ b/QtScrcpy/ui/dialog.cpp @@ -464,8 +464,11 @@ void Dialog::onDeviceConnected(bool success, const QString &serial, const QStrin void Dialog::onDeviceDisconnected(QString serial) { GroupController::instance().removeDevice(serial); - - auto data = qsc::IDeviceManage::getInstance().getDevice(serial)->getUserData(); + auto device = qsc::IDeviceManage::getInstance().getDevice(serial); + if (!device) { + return; + } + auto data = device->getUserData(); if (data) { VideoForm* vf = static_cast(data); qsc::IDeviceManage::getInstance().getDevice(serial)->deRegisterDeviceObserver(vf);