From 411765a69c19fe648feb53db78e86ec888825a57 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 6 Sep 2017 14:22:22 +1000 Subject: [PATCH] Added _mutable method for common code --- PIL/Image.py | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/PIL/Image.py b/PIL/Image.py index 177268518..9ee8fa66a 100644 --- a/PIL/Image.py +++ b/PIL/Image.py @@ -592,6 +592,12 @@ class Image(object): self.pyaccess = None self.readonly = 0 + def _mutable(self): + if self.readonly: + self._copy() + else: + self.load() + def _dump(self, file=None, format=None, **options): import tempfile @@ -1390,10 +1396,7 @@ class Image(object): im = im.convert(self.mode) im = im.im - if self.readonly: - self._copy() - else: - self.load() + self._mutable() if mask: mask.load() @@ -1499,10 +1502,7 @@ class Image(object): other color value. """ - if self.readonly: - self._copy() - else: - self.load() + self._mutable() if self.mode not in ("LA", "RGBA"): # attempt to promote self to a matching alpha mode @@ -1558,10 +1558,7 @@ class Image(object): :param offset: An optional offset value. The default is 0.0. """ - if self.readonly: - self._copy() - else: - self.load() + self._mutable() self.im.putdata(data, scale, offset)