diff --git a/frameworks/core/components/box/render_box.cpp b/frameworks/core/components/box/render_box.cpp index 677ef810..d5f8a044 100644 --- a/frameworks/core/components/box/render_box.cpp +++ b/frameworks/core/components/box/render_box.cpp @@ -180,18 +180,20 @@ void RenderBox::Update(const RefPtr& component) touchRecognizer_ = AceType::MakeRefPtr(); touchRecognizer_->SetOnTouchDown([wp](const TouchEventInfo& touchInfo) { auto box = wp.Upgrade(); - if (box) { - box->HandleTouchEvent(true); + if (!box) { + return; } + box->HandleTouchEvent(true); if (box->onTouchDownId_) { box->onTouchDownId_(touchInfo); } }); touchRecognizer_->SetOnTouchUp([wp](const TouchEventInfo& touchInfo) { auto box = wp.Upgrade(); - if (box) { - box->HandleTouchEvent(false); + if (!box) { + return; } + box->HandleTouchEvent(false); if (box->onTouchUpId_) { box->onTouchUpId_(touchInfo); }