File tree Expand file tree Collapse file tree 1 file changed +6
-5
lines changed Expand file tree Collapse file tree 1 file changed +6
-5
lines changed Original file line number Diff line number Diff line change @@ -1193,11 +1193,11 @@ def seek(self, frame: int) -> None:
1193
1193
if not self ._seek_check (frame ):
1194
1194
return
1195
1195
self ._seek (frame )
1196
- # Create a new core image object on second and
1197
- # subsequent frames in the image. Image may be
1198
- # different size/mode.
1199
- Image . _decompression_bomb_check ( self . _tile_size )
1200
- self . im = Image . core . new ( self . mode , self ._tile_size )
1196
+ if self . _im is not None and (
1197
+ self . im . size != self . _tile_size or self . im . mode != self . mode
1198
+ ):
1199
+ # The core image will no longer be used
1200
+ self ._im = None
1201
1201
1202
1202
def _seek (self , frame : int ) -> None :
1203
1203
self .fp = self ._fp
@@ -1279,6 +1279,7 @@ def load(self) -> Image.core.PixelAccess | None:
1279
1279
1280
1280
def load_prepare (self ) -> None :
1281
1281
if self ._im is None :
1282
+ Image ._decompression_bomb_check (self ._tile_size )
1282
1283
self .im = Image .core .new (self .mode , self ._tile_size )
1283
1284
ImageFile .ImageFile .load_prepare (self )
1284
1285
You can’t perform that action at this time.
0 commit comments