From 1b2cc439f2dcdf2def8090fd419b7adf256703a9 Mon Sep 17 00:00:00 2001 From: dantmnf Date: Tue, 11 Jun 2024 23:42:17 +0800 Subject: [PATCH] fix: check before destroy callback --- src/MaaCore/Assistant.cpp | 4 +++- src/Python/asst/asst.py | 3 +-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/MaaCore/Assistant.cpp b/src/MaaCore/Assistant.cpp index 334e9b4ed4..87ed11a1a1 100644 --- a/src/MaaCore/Assistant.cpp +++ b/src/MaaCore/Assistant.cpp @@ -101,7 +101,9 @@ Assistant::~Assistant() if (m_msg_thread.joinable()) { m_msg_thread.join(); } - m_callback(static_cast(AsstMsg::Destroyed), "{}", m_callback_arg); + if (m_callback) { + m_callback(static_cast(AsstMsg::Destroyed), "{}", m_callback_arg); + } } bool asst::Assistant::set_instance_option(InstanceOptionKey key, const std::string& value) diff --git a/src/Python/asst/asst.py b/src/Python/asst/asst.py index 45f3bf5f2d..a2eca05b37 100644 --- a/src/Python/asst/asst.py +++ b/src/Python/asst/asst.py @@ -93,8 +93,7 @@ class Asst: self.__ptr = Asst.__lib.AsstCreate() def __del__(self): - if self.__callback: - Asst.__lib.AsstDestroy(self.__ptr) + Asst.__lib.AsstDestroy(self.__ptr) self.__ptr = None def set_instance_option(self, option_type: InstanceOptionType, option_value: str):