__next is not updated properly

This commit is contained in:
Dmitry Bely 2016-08-01 12:55:06 +03:00
parent 37841dbaeb
commit 30dc185236
2 changed files with 13 additions and 0 deletions

View File

@ -975,6 +975,7 @@ class TiffImageFile(ImageFile.ImageFile):
self.__frame += 1
self.fp.seek(self._frame_pos[frame])
self.tag_v2.load(self.fp)
self.__next = self.tag_v2.next
# fill the legacy tag/ifd entries
self.tag = self.ifd = ImageFileDirectory_v1.from_v2(self.tag_v2)
self.__frame = frame

View File

@ -434,6 +434,18 @@ class TestFileTiff(PillowTestCase):
self.assertEqual(im.size, (10, 10))
im.load()
self.assertRaises(EOFError, lambda: im.seek(2))
im.seek(0)
self.assertEqual(im._compression, 'tiff_ccitt')
self.assertEqual(im.size, (10, 10))
im.load()
im.seek(1)
self.assertEqual(im._compression, 'packbits')
self.assertEqual(im.size, (10, 10))
im.load()
im.seek(0)
self.assertEqual(im._compression, 'tiff_ccitt')
self.assertEqual(im.size, (10, 10))