From 9940c84b085dc8674e6da09a1ad9c693ba5c3409 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 23 Dec 2020 13:22:53 +1100 Subject: [PATCH] Use previous disposal method in load_end --- Tests/images/dispose_none_load_end.gif | Bin 0 -> 24601 bytes Tests/images/dispose_none_load_end_second.gif | Bin 0 -> 17208 bytes Tests/test_file_gif.py | 14 ++++++++++++++ src/PIL/GifImagePlugin.py | 3 ++- 4 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 Tests/images/dispose_none_load_end.gif create mode 100644 Tests/images/dispose_none_load_end_second.gif diff --git a/Tests/images/dispose_none_load_end.gif b/Tests/images/dispose_none_load_end.gif new file mode 100644 index 0000000000000000000000000000000000000000..3c94eb1b6e006508839ce1827a239058fe9ac82a GIT binary patch literal 24601 zcmeFZ^t5G=UDv%ewKb$=><57yAQl5$US1~f^PAS2`uTkq z5NM*OpKNaSpoyaKX!1x;-xcr>*kWUQ_RMf|WBvK;^URzyclTM&c+RFqA-z03?_qBO zg66(H&%>#yDMrQyJw5KbTpes|DJgX9>Obq)RH+K&g zSBRvfgv4B;gAg;bU%svmT@an=plNotlz*=Oi=?Fa`ID*C)a-07?kaE;ZdTUrXV0em z2np8KT0d-kI6OZ5N=MJdH5VN%Wo30f^R(_~bF)N{M1H>7n3oqr1%ru6t%gR0bgXo3 zEn~j4^zrdJHFeg@_V(f7lf13Gt;3DTo=9Ha9GN^BJ-uuTi}^=Gk2*Sj$;quGC8^YS zd*^+~OL2EEFF&`icoFvSVI>z=jJ!N2=a!UIFB{u0tzfM(s1_scW<+b`iO+->+g$;vxTsViv9>;VF-_iYfSSC zRN&cTVNpDB*AK+8vrnX0092GIuigK17PqN zwHk`MBH8q z_`F9v>DSyaeqR@cnyV&?kdgRIIxW>xWm=i^`W$PztWtQTI%8}7`mEPf$S*z(zj*rL zxm`~JlWuF>$7a`=+M5hF^3zoCa0pRN)z3b^Hu_1ZWuz6?5{7~iFzdB7Ece9W>6-RN z#k09#*mR%hwKuJgGnm#Xd_WC$U8d5^(Cqf{^i&LRBL( zO2gkJ31G+x^G}`{L{?(n%iLxf+=qO?o(sB zuCokul9c!(T2U2fcuJ;B_~sl|&SaS~!3DtUXQD*b;zkC5rXyQEhX#3ss+Y?WQctzoZSp?=nDx&9WM*}=;IuuBK z4V<%LU_(7G44+2Kb8DZqH;$a!q;QZY{Lx)3Nt}5{uH;N8)vJISqa}_vGDkOb2 zuADn8Yl9iwrq4WO#85Q1vC^y?*`Tg|eK+cOs7n~zX)&T$4a+$Fnq_QF62?GJ@=WK# ztH8tEo!?UXOWm=D)W&d?6exCzi15-va5VnSdq#^>>mkwj*!a@him}Wm`%46qKhRq& zXGdQ@G~d}{R>(AU;7XHgSW%>dK*2vyBzEBPCRmbj#xO{! z$Po`pgqSofem|fOUkpCp02O0}D%PJQP&Kom#t0;#4wSs$f|IdC*#alOsJ(64{kPx0 zxKDG()-8z~%g+Sxu|sRZS!yPoH68jA<&rRTGvPNOA(@ZMMO#vAUARd#E)LJ>0$iuc z)L|BWIFLthvSD=#W5V!A67dr={y^YXD)ULgF*O1wyqfj~J(bk-ATEP9a48XZ$ruu_ zJyT=;()Q*&4@t}x)&Aw@-(=9$kB#4&U=PoZnEI2pC&NFJg&g@I_kBoIh(mt+bC5#! zi_qa%1oZM+r07I(=%6}}xe)X%l~Zqr>tqrMsUI%!(PVLn4b}s)!8F#F-3i%j$w_TT zkeKPtN7p>&JL1Kw#vjYy)ln5kXoi=l5irW=AhyZw-IV`)(AUcQ$xRWz@`(`&5>}FVC{z3(o^!lX@sDP zwjCji(hc1@?Ce>|Mn0q)MH^#�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 (|jNAX~?Dh+tFAmb#({7^s(B z&`-435#KE-@g{_6Nk@}Tj)8uF$0+9RmQSztW7((F0(lZ1AIdai4@Sw~?`XWl?v4_) zK-3KhD1>(N#jq0NS+xW$CmN;Xp7^ZY zKXMI3JbVrN{;4@tM0vDE1oQP%XR1=?<;D5$-?%4+OUMXp^)|YOfzc=GL}N*`jkv>4 zt^!00tWV@IeNUP6pZ0n`h&|teSCH)&-iqC9Gw$B>Z7LdP(Zwe6h#L2#jLMNVn1 z_@BEwf8n23Z1_Z|Carxop8G$MmRQacab(OmgmATD-CW}Dy}Sk4!CeC5h0$YH#a>+k z(A}3w}@W3Ra(M^TEjvRd;wQhxTq1y{4dQ0%e5FD0_(?r*8J4iak2bek@;y zRwMw^4DJ(Y#~Y!~(m2hw5~%u8G|)89Y_P zI5s+nCQz|ULAoB%*aPRLf8ihd{w$eH7yayMwFkZsuNtxkh!-Sl|Px2GyOm)U@Lp!IFv#m^E;e8Rxj_Gmi+ z92vj$KfmhJNLz}9koHdiMU+%l%^dkhe$FGgqPO4c$)v+sZ@n${6_-_pk}#7y@u}5M z;CWx=?cyAr2Lg%^?NX}yAy;L`fp?t5!VgA-ehJ@J~+UBFohK{|hm!sgZ zFNlq^x40gsjIe_~qTO_iBS#?#3rw>pFEW*iLLdJA^<(oxXHgjD5(7ZAbU9R_(jwW^ zw5%ncO~l8N)EF}al$Itczdov--zs&ydNKI0U2+ttf9YGjzW1HBND|C^1d{+t-%amH zR}Z>*Gscv7ypT+_g{Qz&xLfP@KugVk`Jbm2^|o8$yHOvW&q@~3GE^~3TzCE5Zoy#p z@ENUE?b{B)N>PqA*BGV{0TIsCr-2)QNcr4L6c_q#)4d9zVmPWt9f&x zST&JZpMIgum)qp2?c-Or3fi@1r+&(x`s6*VThr#oUQ6vsu)KZvd(u;bl;%)tA3zt% z$P-SMsj?hA|4aW`9Dnor*B}1p7qRz3{NdJ2(c)66?VHeAo55TbyD!up90!{uNHzcu z#j%kNw|m;ve4FU)!-jPSTU2m%`AIqy-lLvGYkaZ#AN|X6dQCfvSJzg0YI=Pnx8>_t z)>?Pv7;spZzNF0tqN9QC4b8Pf=6+?Tj*I9~s8XZl1GjFi( zOX0MB|CjzH@olpg#6PPkPt9LGA?OH#jTUHj3&%@*Y7PG3mxPPgs|*O(*10Ap2B&KW z^caEq7a^Zn+S!MXhqot7)Kj@`{>A^~{tQ^{{pQQhj9+CL(_N5NEgV4 z@nagh#23I}tKVZ9To|Z-iB=o=uCmOxxPNH!`u0ep8hB8W!LLBs@{a6WQ}a1?Nlo6O$G*#7vf|Kjo?Kp6Hy#)S5SY@0>|| zpKH23^UO<5vW?=^K(bt;@?^{sx1{F@Hm*TIi1gQXSH)DUBV{_k==r!K^G|R>{+rB8 z_fZVA{h2J!SLAUBjV~MT>|H9HpB!w?{Dpsxa=oN|p-bQ{t;Q>DUG9w`;+{wQ#=%Mn z;=w)DAQ?AL3NS$G@I-{s@*w|%BjP4zAVtU^(&AaO5`|AlTYKIdOmW)))W3cnol=1O zk80QrS>Gcb3FQdMYhF4;#D%x~e3pECvwJ&&IjW7>yBr5eWgr{ad4beB9|4b#&p7R2 zFg$nKEe9jt6)YUW?91ch-!wjUU6FV+k`HKo9r|LP7Giw9OONLWGVqvhKsIw38NpZe zQFgF(^>`0WLy)2SRkf0PH2|W*nY<+lX7`A{z z&QWc@PeK}rPwp#HZShmMq&u3BLG}S$w6r%K^tY=Kc`q$l^as5W+=U;po zs=FYgtNqEr(uAvN>;vk6RSSp0TMEkqCapjL)mJcHJdW`|gmUS+N&p};&=DllKcI2V zc~&cc;K1;w=llz=#eNX~cz=2G5VN7+)Z??#^9db3 z(+ccZJU!YT57JuS!}3WVj!twOTbP(@#mN$LUPWS`=H9}DUS3?l&bfUMT@g4WYN^W@k&f&sf_`7MUmd!wRmpKFm2~*yl9wBnoE_o4+nZt1N^@<; zXk`rN7T#H;fAITfS58@JN`v}o)!+P2GT+@l_{Zef%nkP8nN2V{+<&!S8ayNKJ~d&- zmK%C2eQrN=^R6~5+C{#isGW#cEKzxw!4Vsq$Px4KMR0%AP}6OqQt5;`0fWe}9AU@t zx-0(YiBcr7U`W6gAA>>J7avDe9Azo*q|C^kTmp}XwG(`*uQQLo6otl~9f1g1uH>w6 zi=ws&p*V1|-<8gHJwp*Rs`{(ZBYuuOiiWdwF z-b;%`xs#djmFQ_d=nq(1N?YyD74~?)a)ft$_3~AFNRv18(@a|0`4T}t>$+Z&yy}-A zqb4%S=HttBq! zod)2V-2aspB;WQkk(%Ro8od?_kv!CV8w23-!mxELTU>`3WlY|4(6{nn*#58o2Xhd> zfK}yG!64;1Hz#61O3dizb8?_QGFv4Vh}d3e?@yd?e88a`krhRWDg(-Iw)u9an>y1X zYy4)_EUw95n%qDCum8ugVyTTj(5LJARUdX)kLS-jeh#JRO0=;qr> z1Zs&lN}xT^S%Ma~o??|~vFnFg7iBj;{g3}AdN0(e2h%3M#(lOR?dxDuC^);4mgYE| zC9JKT5j8)_jSuXH-V;O^GDqT5&Cfpn5TmSKhyX6fs%|Y_K0H4?-rHPU{2%^DVZG5F z%#PlYo(s|?oBh;iq_4 z0*y@OdVT9_R2V*LHOJP8C?(Fq%c*Bxza@A7<^KtTp_~!a;Pb%x5W8WjyaKAyFc6$a zt(kU%y&U-SLHqOlska({9%b|&Zk|=p)F~|5OCv59row`AAn0YnuKkp zMJvrt8JyT3{^#HLr)SzO8*`Fw(BI;pd$0y+(Ir8Qp|F;#Z{xSrn3ZW3w1PpUW4l z#|p+EKy6OS4g;4GhLxq zAp3B>1@cteaQ3|IOf~sEx1q(>$#7ZDoRw@qLr_FcUnaN2ta7HW5awob0FGXsorr!S z7J-iR#qWRkAH^i;#+AM#24QbIXgWP#R#R6`9tfhr;Unync z&VsJ~*_YBj4r+lX<+|pPFc<+fVWC`AUj(_q{|o=~kN*cprmG2!WXopRc5gsiB=l*d zFj;2h&#rVudT?@OJ9MoKWzsW_i`vx!&$oe?#89Pk<^(wjR4Ur99+81tGIMsy^l@jmHzcF z{PS8SeE)X1@~Z$dD|uvSeP6kWK%r8Yt-A@qSMYK4<(hUfJ)_g0h#ffBt5s1gvc2Me zK6l2l+`4>lcD(axv$VGxB<`vK0pk^V7DY}j1>OoH*2Ea%BIE-TN47rt$ztEME;Lk= z0s)*8@cMBKWpEjm>ecvhj)3~t+qLpuD2#Z!S_C6vREj;J?H*biY~oICEMe%5(8u@U zjjaTqU-C(Tz+ha+^N~ONk8NiJ5&u1bk4-KUrPx3>7K~18T-y!}kd%;#C{~Rd^u?lGARjQAGrzW(zgzfhL37;Ud zeA^A^6bUiN|NOdHhI5UWaat7Kwax|MLI*gMT(gwBxbytSa?0yCC_pBa_lj@9Ww%Hm^2CTYnW+Da)i0g(xZ8sM3e$ z_5(Qz1%LcMoA2Kg1m5{*b8eYd>Fr=ki>+0>jm`@G>=`pNW4 zgi!!kr~Tvqd3gWV-ts^$$p3_Zv9p*I(~lu!!vJA=`Lm_iYYa+j{0v zz{99%wd~Mn6a)v1=G^EbaWXbDTG|FXwkUF;!poX}@XyE-{nxEKpW6HvH+t2z;RI+p zxRPdh&<}qzS`iUDbOas+YZht=x>WSX|NI~RXN1M@ZO3U?A(H3E?e3`PUpOla4R&2o z@uaMFyb!V&Jnp~z&y!2aQFv5BPIHsXs&QnT^jPR<0ywA6c{ChCkVDRiK>8T>ZZCrT z&-G_cAE(#<N5}+-)7v_yZb5Ow+K+G zJj>nNMPPpinBPX*8dnF>*mV_0;}gOEEI@0AjE0jD7pul{sYHiEV1!`mv+H7k8(MDCzQ*zRzZ+v%l34RcT|ZU_ zCTI0y`u~3F3XuH|znyvmYXnUK;td}J7==Xb%-L$~+-Eqr#A?+>%4+KvO(NH?S*oju zp7tcS8QMJH$HW=PZ@;*+`Q`I(kl%h0DWZ&>FMC(Q9m#$W30_~@(xXL&QTS|XoH~dz zV;DWsRbrYf-QEbCG`YaZ>e1d`{T+3#KiK+{=-K@uoDoddT)(=ft=S!L=nyNBW-s~I zs}b;RyIfXlN5v(%$-WQ~fk4rn|ElkD#i)iku_6N)rIAmKBVq6BtQs$oW-IfNxPsN^ zC(7$}`7GN`dNZZY`B((3ZRbxt{#D=Ey#{fQbf5tau4{sf$Ob?}A3MlcTv0X+uF9zU ztkHIz3ptw_xN)SpRdHYx7;t?&{>yKJ_1$}f9<3dEi4m6=gm^r}J3+~7!$sAP);eY> zB&Of#x!b>q0U%Nj=)5<`m@SRKfzxq2cBmkU(dP6*|3qs#QfA;G`&Uk0t%# zC7#IJca_eTlYd~AcNMLnB>1s9)XdWdeV81eR4w9j2SQyHcDViFW!T^P{vJsh__)>h zV{yAK5O7OOSKRN8=qsld!Iy8*a|9t#IE&%*P##w#43|y9=N&%iRNEaekJ;BOl*}y9}Etn4bSGfLc6f zCYH$tm=<0TysHQhtJG)DFwn=d04{I#<{7Vo^_@Z}79BYU4HyNjNxu|)DwrVI<3y@a zbrf)@SJ53mGizXa>;s2VQl>q*i8@$o5AX(SV^|pQaSN=xpKl6yl zaZ>~9W=PUNn>T^W5CdiId<=)S38!fG2eUUisB`Fav##M2`TeDvvYKnL5R2(cg&0Q5 z1E=9^!CU=>bmH8cT;M#!^fhFeW=qGc8jzpd86;Z-ElBGP`Q|G<3!qsHlL%zU5ip#I zo5mb;T1|`M+*$P77<;S~%lxOmqsHIFp*sQ#?-VP!r@<~<@?edoP$_j8OVU%@q(aPj z7#neRbUZl2E^Nq*3|WIGT6H5CFN!!VGpK^}O2#iUo=t|AI-D8C@M>hCDkNM!^4joT)iXdE|d1Qp0^ z5j=C~qu0l7b+XMo#`XGv`J#fWrd{*N*xup+4pF?yrNA9SGQUI z@i$6=`u<%QoLmzd$E!cp!xUudA~wbXPay~eog$)=436}*kt|*rjuoR%m}l{hH(#DoHBNqKDX9EsHW zk20FmF=dR(A@_!wSwSNN!-3HM>iZ*z62^5bDk4>o!9+o?gU?T4$3EeOHc+DKigGU=XhDaytCY|{+i2-LUUL|8cJ0UIvzpS zQk$rEPXzXSDbeYBJ30!kk-1&*U5|h2 zyPbEfDtL*N!(=>~oyzLgM!bF4hM^`rrZ_s+(_C2IO1SO|4l;fFuy^98%#UJZTzm;H zy{D@F(pz#K9iG{x!3H8Sv3=w+_pj=~8(w(lX$&FJ1fVPjAP;Es0N6E5B zeJ&8h=a2AhP*oCgox(@p;u6b5tSm@3dgOFS_$;+F+N%!#5B?dB=cZ+Aa1DzTEyi z@=tvyFOA>os-Gp}S1w?6&AAxK%W(9ajsmo`OQ3q`$m?%?VBSZmy}DK|S9Eq_^~MSm z8~h|a+ms9LF-ZG}4ZikWE&}^oulhSW+J3C|uY-3IQKT5v^;#f-t8Pg8CKxGDEl_Ue zNZUnX=na{tA0GxHKA%$78Zvske{kx@iW^(VASJml7v?w#Lv;o%wEfsx{8xQPtbI(z zrT3_e61WDH<`6a@ml4l@c(T8vN~%=^$|$g*^~Z8WPG3q+YbN4-kFnDC*9pMbNqKv= z86WlIm?`6U%^3~NDE+IxtA7@MHK5`&kc5r!N_%dmeG>Fh(y_l4xHvoN`ngTap%tjO z^ZEYfc$Lw^vo=zW!CYY)={3)`#^wH1A}L9|O2Xa6KmDy63s?I7;KmG*BE+@HwGVO;Y{R++8@*6L{x$YxzJk^6_*H~V{k>-$&ur(GGD zY+6Y;o9`u_Po}uhtEv%$T&MGm)=g+r*&w*y`WO zzAYzc1+f`Sk6e{c36}ESN3A}YkMU*Lm@xdY_qV_CKm4|<&)Ai6s+Nf3IuxX)|G-*FQD0sxQ0=06o0!+vSvmqN}{>CJlqj|^Pp2ax0+^N2+l1JYyhbI2+Z>4lI zsnAWt`G|~AVcjK!1nz3RV#gD-vhr|i_mN8lrGJRcQp5c~ z)i2Wy!PoWxK>#+-})N8i7c52mC7$C*PxeuJ-yQv=^uKz9JE zL%Ad(BnoGM(A)?AWe3~yU~rt5h7PKi47`$Q)wm+#G2z^jB&qsoj&|Z2p^V0if}qo-4Cq(DLMm8|gmF&{$hW zuK=$T0_pJ%K?Va_#YV_NC&+Khh5psw!2oLuSMH0app|uOvrmpn@P_CVNGb@w`1%k3;uNpXE|!FdKz-EjO~Z?F(A36iSD740o=N7RZGWD_r$=JT~t}E%)M4(Y|sl z)__J5kwbq95dhfSA#pfsme(BW@lqhLHav zlGb=dErCkVwl~k$fr^mUtPs56$_I&PU-jXoiLJ|n{T(=YGXw_8qXNsv21>J-jJX;J1?HZ=@sH)9%Xs!hHBb-jah)!IjSUwu zJa&H%*?2=ty8eg_cmW}#yJq;3;7f<^(&RDtV#*9jMaYx~pvz}0_B`@0{Bzac`tXd1 zicjPLE(^12VetCc1c9BGE-H9u6WjIu(nm3_gdFuo(3U7qbMYHi$4yGCtju75&@ZrL?tl-DgCgW5?}-V9Y?P?cVFM^|Hnx746#yqQnwwRIm#S3xRF7GcS0! zfeml+(r6}O$@gL{d1(vKgkr#PR6oRb$B?ATm7K&>g{82lrU(Rs{>B_(RjvwfD}wsI zEB}D77EIj@_m_B|qd3~ZMZ`B?xph08b`Enfkfg#WV^f&fhoa;V&AoCBu z-CjyW`^<47MHxFr`cP}s-~MTrnEEuplR%Eby3hRK#AcNYh4qm9{RXyA$*s=vkW0w4 ztZ15DR|L%^=YRR_K~gH5L>gge#tQg-hYBz-?G4Av){(a-=;!c}4$PnzM+*xf>RH`?CIS_O^u%>@oL$iQi@{oJWN}2o9Ra(}Fd;RYnC1*|aSCf1i`^;Mm{% zkh*Avql^JwT7V&sR=y5D{!YKP64j$TTm3jsx^be-d0H)wwA(l;PHh@EXZZX39+hTl z+msBVaICllWpSKGcu>-~^vIH`3Ccx!dF%eQkFfv;=woV##w8&K`&*OU1=Vqst-)=w z)UB>`y%xDc|EX#so+7f^GSRwZT4-7>KGAVX^78-~07PQr6%)`6!oO>HFFix>rW(s{r{ZkEF9- z=R4YJEU67DQl70#m+mTTXAHG~PvT)!gd9Wg$lH7)Hxl7)nC`?Y{--1O0O;D;f{?mKqEr)RjcAj-HLK9L$&sIWiZ_n37v zQP*XRBSV5;Gl2iG+ID|4e}1D5>zhV5y#yhx38UObpDqIQuYv z>@nBq94m8I19${q?*@J4qrVcUnxY79+4o`E8htsmEWUwpt&s2#vqO`*Gvk5$k7LoM z3h2nDt4=1k%dJh$tg3bTBlGr+7K$I&?ZEz!%L~^Og!24U7%o!R1^h+}U{6BHlUR)W z*o=GSza}px`>}V$|46xHQTIb4@J=)iR-&KN4pTKbz3>2=hvY0pU8o6=-SqJcwD%kk z_Q~`yM&LEX<9_6d5(M4JO&U)PiwrX&9t2gw0f4u;RcNx+E~mlLp-(8!`NkvZdrYqa zSV>*c013Os_wc4a?@ayUCYCdjl?;PJA>?_oZ^tD(jz9!1iM}1g1)J@`Ce+u=3j537 z!iB+Q#!Z_78vy8IyfL*k=?(9RK7kfNmzm1PtXBbc)jp&AN>T11{#K%G-_<%Ok*zOVbbKD+Ms>m?4lN2s^F3XK?n?9l%&-$AVJb<1Tz1QHyWLfcMOb6_E62E7#L zE7nG|MHc5~)a>6O3nu4njw#rKaV|&ti#VAEE-t>*JGhhHXEz;R9y+8S-34WKs~_zc zbAR4wlY_CH+dKp%!CocKmI5+j zsZ^2_>2fc!7#j-|U_AKoJvU5ATuhte~+V05RFNy~V*){)U5z zi^l~^d`7u~Tv=dJm}6F+J5E{FcW?dhS={_X*=?axP+6ZQ22E?`qn0c(MT(!qMs%N( zh^+njACzUZFMaDUGM9zDItf6J@XOihA~gcmj}*!MbFOsS2c;S**k>kV;ok<0Je93C zDF;Xz&<~D3{(zbB{(EjRC9Qrr=T{aD-1Fp;WsbRB<0>U$aDGzHNYC9A#i98{0qD@S6y?;_9FT9E&kM?}U|~B~7CMu%8l;3> zFznxTk$t6erE9C#0Lrf16kzMW=CF#mqC$1n=tZ79gL zN2hbs+^g+=8hrxp4H1AFdn#`PD#*>u?}Z%($X_cesG9yCR|m73outw9O%O+tnz3cH zM{#-CjqUrcEU=WGm∈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 AyZ`_I literal 0 HcmV?d00001 diff --git a/Tests/images/dispose_none_load_end_second.gif b/Tests/images/dispose_none_load_end_second.gif new file mode 100644 index 0000000000000000000000000000000000000000..5d8462cebb84b5658c81977a0148cb4a7e29b0c4 GIT binary patch literal 17208 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 AS^xk5 literal 0 HcmV?d00001 diff --git a/Tests/test_file_gif.py b/Tests/test_file_gif.py index 90943ac8f69..833294d81dc 100644 --- a/Tests/test_file_gif.py +++ b/Tests/test_file_gif.py @@ -307,6 +307,20 @@ def test_dispose_none(): pass +def test_dispose_none_load_end(): + # Test image created with: + # + # im = Image.open("transparent.gif") + # im_rotated = im.rotate(180) + # im.save("dispose_none_load_end.gif", + # save_all=True, append_images=[im_rotated], disposal=[1,2]) + with Image.open("Tests/images/dispose_none_load_end.gif") as img: + img.seek(1) + + with Image.open("Tests/images/dispose_none_load_end_second.gif") as expected: + assert_image_equal(img, expected) + + def test_dispose_background(): with Image.open("Tests/images/dispose_bgnd.gif") as img: try: diff --git a/src/PIL/GifImagePlugin.py b/src/PIL/GifImagePlugin.py index 4ca5a697efe..95e300bd78c 100644 --- a/src/PIL/GifImagePlugin.py +++ b/src/PIL/GifImagePlugin.py @@ -301,13 +301,14 @@ def load_end(self): # if the disposal method is 'do not dispose', transparent # pixels should show the content of the previous frame - if self._prev_im and self.disposal_method == 1: + if self._prev_im and self._prev_disposal_method == 1: # we do this by pasting the updated area onto the previous # frame which we then use as the current image content updated = self._crop(self.im, self.dispose_extent) self._prev_im.paste(updated, self.dispose_extent, updated.convert("RGBA")) self.im = self._prev_im self._prev_im = self.im.copy() + self._prev_disposal_method = self.disposal_method def _close__fp(self): try: