File tree Expand file tree Collapse file tree 4 files changed +9
-2
lines changed Expand file tree Collapse file tree 4 files changed +9
-2
lines changed Original file line number Diff line number Diff line change @@ -81,6 +81,7 @@ def test_pickle_jpeg() -> None:
81
81
unpickled_image = pickle .loads (pickle .dumps (image ))
82
82
83
83
# Assert
84
+ assert unpickled_image .filename == "Tests/images/hopper.jpg"
84
85
assert len (unpickled_image .layer ) == 3
85
86
assert unpickled_image .layers == 3
86
87
Original file line number Diff line number Diff line change @@ -2543,7 +2543,9 @@ def save(
2543
2543
from . import ImageFile
2544
2544
2545
2545
# may mutate self!
2546
- if isinstance (self , ImageFile .ImageFile ) and filename == self .filename :
2546
+ if isinstance (self , ImageFile .ImageFile ) and os .path .abspath (
2547
+ filename
2548
+ ) == os .path .abspath (self .filename ):
2547
2549
self ._ensure_mutable ()
2548
2550
else :
2549
2551
self .load ()
Original file line number Diff line number Diff line change @@ -252,8 +252,12 @@ def get_format_mimetype(self) -> str | None:
252
252
return Image .MIME .get (self .format .upper ())
253
253
return None
254
254
255
+ def __getstate__ (self ) -> list [Any ]:
256
+ return super ().__getstate__ () + [self .filename ]
257
+
255
258
def __setstate__ (self , state : list [Any ]) -> None :
256
259
self .tile = []
260
+ self .filename = state [5 ]
257
261
super ().__setstate__ (state )
258
262
259
263
def verify (self ) -> None :
Original file line number Diff line number Diff line change @@ -403,8 +403,8 @@ def __getstate__(self) -> list[Any]:
403
403
return super ().__getstate__ () + [self .layers , self .layer ]
404
404
405
405
def __setstate__ (self , state : list [Any ]) -> None :
406
+ self .layers , self .layer = state [6 :]
406
407
super ().__setstate__ (state )
407
- self .layers , self .layer = state [5 :]
408
408
409
409
def load_read (self , read_bytes : int ) -> bytes :
410
410
"""
You can’t perform that action at this time.
0 commit comments