diff --git a/fresco/src/main/kotlin/com/skydoves/landscapist/fresco/FlowBaseBitmapDataSubscriber.kt b/fresco/src/main/kotlin/com/skydoves/landscapist/fresco/FlowBaseBitmapDataSubscriber.kt index 0394351e..f242b75a 100644 --- a/fresco/src/main/kotlin/com/skydoves/landscapist/fresco/FlowBaseBitmapDataSubscriber.kt +++ b/fresco/src/main/kotlin/com/skydoves/landscapist/fresco/FlowBaseBitmapDataSubscriber.kt @@ -41,13 +41,15 @@ internal class FlowBaseBitmapDataSubscriber : BaseBitmapReferenceDataSubscriber( data = bitmapReference?.cloneOrNull(), dataSource = imageOrigin.toDataSource() ) + CloseableReference.closeSafely(bitmapReference) } override fun onFailureImpl(dataSource: DataSource>) { this.internalStateFlow.value = ImageLoadState.Failure( - data = dataSource, + data = dataSource.result?.cloneOrNull(), reason = dataSource.failureCause ) + dataSource.close() } override fun onProgressUpdate(dataSource: DataSource>) {