From 39876cf1bf069f1b151d88800054b16a4c4ba6bd Mon Sep 17 00:00:00 2001 From: Christoph Gohlke Date: Fri, 27 Dec 2019 01:28:11 -0800 Subject: [PATCH] Do not use use built-in mapper WIN32 only --- src/PIL/ImageFile.py | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/src/PIL/ImageFile.py b/src/PIL/ImageFile.py index c8d6b6ba3..8e003886c 100644 --- a/src/PIL/ImageFile.py +++ b/src/PIL/ImageFile.py @@ -178,24 +178,16 @@ class ImageFile(Image.Image): and args[0] in Image._MAPMODES ): try: - if hasattr(Image.core, "map"): - # use built-in mapper WIN32 only - self.map = Image.core.map(self.filename) - self.map.seek(offset) - self.im = self.map.readimage( - self.mode, self.size, args[1], args[2] - ) - else: - # use mmap, if possible - import mmap + # use mmap, if possible + import mmap - with open(self.filename, "r") as fp: - self.map = mmap.mmap( - fp.fileno(), 0, access=mmap.ACCESS_READ - ) - self.im = Image.core.map_buffer( - self.map, self.size, decoder_name, extents, offset, args + with open(self.filename, "r") as fp: + self.map = mmap.mmap( + fp.fileno(), 0, access=mmap.ACCESS_READ ) + self.im = Image.core.map_buffer( + self.map, self.size, decoder_name, extents, offset, args + ) readonly = 1 # After trashing self.im, # we might need to reload the palette data.