diff --git a/Tests/test_file_webp.py b/Tests/test_file_webp.py index 06e274d0a..202836f4c 100644 --- a/Tests/test_file_webp.py +++ b/Tests/test_file_webp.py @@ -135,6 +135,13 @@ class TestFileWebp(PillowTestCase): self.assertRaises(TypeError, _webp.WebPAnimDecoder) self.assertRaises(TypeError, _webp.WebPDecode) + def test_no_resource_warning(self): + file_path = "Tests/images/hopper.webp" + image = Image.open(file_path) + + temp_file = self.tempfile("temp.webp") + self.assert_warning(None, image.save, temp_file) + if __name__ == '__main__': unittest.main() diff --git a/src/PIL/WebPImagePlugin.py b/src/PIL/WebPImagePlugin.py index 39a8f2e35..8c26da180 100644 --- a/src/PIL/WebPImagePlugin.py +++ b/src/PIL/WebPImagePlugin.py @@ -153,6 +153,8 @@ class WebPImageFile(ImageFile.ImageFile): self.__loaded = self.__logical_frame # Set tile + if self.fp: + self.fp.close() self.fp = BytesIO(data) self.tile = [("raw", (0, 0) + self.size, 0, self.mode)]