From 2a571211765932d611c80193d25b3944664af791 Mon Sep 17 00:00:00 2001 From: zhongwuzw Date: Mon, 18 Nov 2024 11:08:51 +0800 Subject: [PATCH] [iOS] Fabric: Fixes image coordinator status assert crash in debug mode --- .../ImageResponseObserverCoordinator.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/react-native/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp b/packages/react-native/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp index bb85658236dfe9..cbc8995fd79335 100644 --- a/packages/react-native/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +++ b/packages/react-native/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp @@ -73,7 +73,9 @@ void ImageResponseObserverCoordinator::nativeImageResponseProgress( int64_t total) const { mutex_.lock(); auto observers = observers_; - react_native_assert(status_ == ImageResponse::Status::Loading); + react_native_assert( + status_ == ImageResponse::Status::Loading || + status_ == ImageResponse::Status::Cancelled); mutex_.unlock(); for (auto observer : observers) { @@ -86,7 +88,9 @@ void ImageResponseObserverCoordinator::nativeImageResponseComplete( mutex_.lock(); imageData_ = imageResponse.getImage(); imageMetadata_ = imageResponse.getMetadata(); - react_native_assert(status_ == ImageResponse::Status::Loading); + react_native_assert( + status_ == ImageResponse::Status::Loading || + status_ == ImageResponse::Status::Cancelled); status_ = ImageResponse::Status::Completed; auto observers = observers_; mutex_.unlock(); @@ -99,7 +103,9 @@ void ImageResponseObserverCoordinator::nativeImageResponseComplete( void ImageResponseObserverCoordinator::nativeImageResponseFailed( const ImageLoadError& loadError) const { mutex_.lock(); - react_native_assert(status_ == ImageResponse::Status::Loading); + react_native_assert( + status_ == ImageResponse::Status::Loading || + status_ == ImageResponse::Status::Cancelled); status_ = ImageResponse::Status::Failed; imageErrorData_ = loadError.getError(); auto observers = observers_;