File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -81,6 +81,7 @@ def test_pickle_jpeg() -> None:
8181 unpickled_image = pickle .loads (pickle .dumps (image ))
8282
8383 # Assert
84+ assert unpickled_image .filename == "Tests/images/hopper.jpg"
8485 assert len (unpickled_image .layer ) == 3
8586 assert unpickled_image .layers == 3
8687
Original file line number Diff line number Diff line change @@ -2543,7 +2543,9 @@ def save(
25432543 from . import ImageFile
25442544
25452545 # 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 ):
25472549 self ._ensure_mutable ()
25482550 else :
25492551 self .load ()
Original file line number Diff line number Diff line change @@ -252,8 +252,12 @@ def get_format_mimetype(self) -> str | None:
252252 return Image .MIME .get (self .format .upper ())
253253 return None
254254
255+ def __getstate__ (self ) -> list [Any ]:
256+ return super ().__getstate__ () + [self .filename ]
257+
255258 def __setstate__ (self , state : list [Any ]) -> None :
256259 self .tile = []
260+ self .filename = state [5 ]
257261 super ().__setstate__ (state )
258262
259263 def verify (self ) -> None :
Original file line number Diff line number Diff line change @@ -403,8 +403,8 @@ def __getstate__(self) -> list[Any]:
403403 return super ().__getstate__ () + [self .layers , self .layer ]
404404
405405 def __setstate__ (self , state : list [Any ]) -> None :
406+ self .layers , self .layer = state [6 :]
406407 super ().__setstate__ (state )
407- self .layers , self .layer = state [5 :]
408408
409409 def load_read (self , read_bytes : int ) -> bytes :
410410 """
You can’t perform that action at this time.
0 commit comments