From 27e9d4318305e396c438faca67ccd4d47306a696 Mon Sep 17 00:00:00 2001 From: yuwenze Date: Fri, 31 Mar 2023 08:38:27 +0000 Subject: [PATCH] extension not do animation Signed-off-by: yuwenze Change-Id: Iad42b451e9cd8257d364b21958a627ff3964cdae --- services/abilitymgr/src/ability_record.cpp | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/services/abilitymgr/src/ability_record.cpp b/services/abilitymgr/src/ability_record.cpp index 5ff6f3ace5f..b95ed910f0a 100644 --- a/services/abilitymgr/src/ability_record.cpp +++ b/services/abilitymgr/src/ability_record.cpp @@ -1804,13 +1804,21 @@ void AbilityRecord::OnSchedulerDied(const wptr &remote) handler->PostTask(uriTask); #ifdef SUPPORT_GRAPHICS // notify winddow manager service the ability died - handler->PostTask([ability = shared_from_this()]() { - if (ability->GetWMSHandler()) { - sptr info = new AbilityTransitionInfo(); - ability->SetAbilityTransitionInfo(info); - ability->GetWMSHandler()->NotifyAnimationAbilityDied(info); - } - }); + if (missionId_ != -1) { + auto task = [me = weak_from_this()]() { + auto self = me.lock(); + if (self == nullptr) { + HILOG_ERROR("Ability is invalid."); + return; + } + if (self->GetWMSHandler()) { + sptr info = new AbilityTransitionInfo(); + self->SetAbilityTransitionInfo(info); + self->GetWMSHandler()->NotifyAnimationAbilityDied(info); + } + }; + handler->PostTask(task); + } #endif HandleDlpClosed(); } -- Gitee