Skip to content

Commit 32e2c08

Browse files
author
rwolfing
committed
Add missing error listener
1 parent 0a00bf1 commit 32e2c08

File tree

1 file changed

+28
-2
lines changed

1 file changed

+28
-2
lines changed

cached_network_image/lib/src/image_provider/cached_network_image_provider.dart

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ class CachedNetworkImageProvider
7474
DecoderBufferCallback decode,
7575
) {
7676
final chunkEvents = StreamController<ImageChunkEvent>();
77-
return MultiImageStreamCompleter(
77+
final imageStreamCompleter = MultiImageStreamCompleter(
7878
codec: _loadBufferAsync(key, chunkEvents, decode),
7979
chunkEvents: chunkEvents.stream,
8080
scale: key.scale,
@@ -86,6 +86,19 @@ class CachedNetworkImageProvider
8686
);
8787
},
8888
);
89+
90+
if (errorListener != null) {
91+
imageStreamCompleter.addListener(
92+
ImageStreamListener(
93+
(image, synchronousCall) {},
94+
onError: (Object error, StackTrace? trace) {
95+
errorListener?.call(error);
96+
},
97+
),
98+
);
99+
}
100+
101+
return imageStreamCompleter;
89102
}
90103

91104
@Deprecated('_loadBufferAsync is deprecated, use _loadImageAsync instead')
@@ -116,7 +129,7 @@ class CachedNetworkImageProvider
116129
ImageDecoderCallback decode,
117130
) {
118131
final chunkEvents = StreamController<ImageChunkEvent>();
119-
return MultiImageStreamCompleter(
132+
final imageStreamCompleter = MultiImageStreamCompleter(
120133
codec: _loadImageAsync(key, chunkEvents, decode),
121134
chunkEvents: chunkEvents.stream,
122135
scale: key.scale,
@@ -128,6 +141,19 @@ class CachedNetworkImageProvider
128141
);
129142
},
130143
);
144+
145+
if (errorListener != null) {
146+
imageStreamCompleter.addListener(
147+
ImageStreamListener(
148+
(image, synchronousCall) {},
149+
onError: (Object error, StackTrace? trace) {
150+
errorListener?.call(error);
151+
},
152+
),
153+
);
154+
}
155+
156+
return imageStreamCompleter;
131157
}
132158

133159
Stream<ui.Codec> _loadImageAsync(

0 commit comments

Comments
 (0)