Do not use "use built-in mapper WIN32 only"

This commit is contained in:
Andrew Murray 2021-01-25 21:10:49 +11:00
parent 27a8852223
commit f2f92d22d1

View File

@ -192,24 +192,14 @@ class ImageFile(Image.Image):
and args[0] in Image._MAPMODES and args[0] in Image._MAPMODES
): ):
try: try:
if hasattr(Image.core, "map"): # use mmap, if possible
# use built-in mapper WIN32 only import mmap
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
with open(self.filename) as fp: with open(self.filename) as fp:
self.map = mmap.mmap( self.map = mmap.mmap(fp.fileno(), 0, access=mmap.ACCESS_READ)
fp.fileno(), 0, access=mmap.ACCESS_READ self.im = Image.core.map_buffer(
) self.map, self.size, decoder_name, offset, args
self.im = Image.core.map_buffer( )
self.map, self.size, decoder_name, offset, args
)
readonly = 1 readonly = 1
# After trashing self.im, # After trashing self.im,
# we might need to reload the palette data. # we might need to reload the palette data.