diff --git a/go.mod b/go.mod index e18f97404..e1c945f86 100644 --- a/go.mod +++ b/go.mod @@ -47,7 +47,7 @@ require ( github.com/jellydator/ttlcache/v3 v3.4.0 github.com/jinzhu/now v1.1.5 github.com/justinas/alice v1.2.0 - github.com/kovidgoyal/imaging v1.8.18 + github.com/kovidgoyal/imaging v1.8.19 github.com/leonelquinteros/gotext v1.7.2 github.com/libregraph/idm v0.5.0 github.com/libregraph/lico v0.66.0 diff --git a/go.sum b/go.sum index d36b0cf36..b73161bc6 100644 --- a/go.sum +++ b/go.sum @@ -745,8 +745,8 @@ github.com/kovidgoyal/go-parallel v1.1.1 h1:1OzpNjtrUkBPq3UaqrnvOoB2F9RttSt811ui github.com/kovidgoyal/go-parallel v1.1.1/go.mod h1:BJNIbe6+hxyFWv7n6oEDPj3PA5qSw5OCtf0hcVxWJiw= github.com/kovidgoyal/go-shm v1.0.0 h1:HJEel9D1F9YhULvClEHJLawoRSj/1u/EDV7MJbBPgQo= github.com/kovidgoyal/go-shm v1.0.0/go.mod h1:Yzb80Xf9L3kaoB2RGok9hHwMIt7Oif61kT6t3+VnZds= -github.com/kovidgoyal/imaging v1.8.18 h1:42JCqJnQBzBo0hGllLEJVYDARWXPP9MT3HgiTno9Chc= -github.com/kovidgoyal/imaging v1.8.18/go.mod h1:bqjHpeAxSuTLvKob6HuqAr9td2wP9G54Snbgd+1QLoU= +github.com/kovidgoyal/imaging v1.8.19 h1:zWJdQqF2tfSKjvoB7XpLRhVGbYsze++M0iaqZ4ZkhNk= +github.com/kovidgoyal/imaging v1.8.19/go.mod h1:I0q8RdoEuyc4G8GFOF9CaluTUHQSf68d6TmsqpvfRI8= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= diff --git a/vendor/github.com/kovidgoyal/imaging/animation.go b/vendor/github.com/kovidgoyal/imaging/animation.go index cff6e8f2b..cf525efad 100644 --- a/vendor/github.com/kovidgoyal/imaging/animation.go +++ b/vendor/github.com/kovidgoyal/imaging/animation.go @@ -163,15 +163,20 @@ func (self *Image) populate_from_gif(g *gif.GIF) { Delay: gifmeta.CalculateFrameDelay(g.Delay[i], min_gap), } switch prev_disposal { - case gif.DisposalNone, 0: + case gif.DisposalNone, 0: // 1 frame.ComposeOnto = frame.Number - 1 - case gif.DisposalPrevious: + case gif.DisposalPrevious: // 3 frame.ComposeOnto = prev_compose_onto - case gif.DisposalBackground: - // this is in contravention of the GIF spec but browsers and - // gif2apng both do this, so follow them. Test image for this - // is apple.gif - frame.ComposeOnto = frame.Number - 1 + case gif.DisposalBackground: // 2 + if i > 0 && g.Delay[i-1] == 0 { + // this is in contravention of the GIF spec but browsers and + // gif2apng both do this, so follow them. Test images for this + // are apple.gif and disposal-background-with-delay.gif + frame.ComposeOnto = frame.Number - 1 + } else { + // delay present, frame visible, so clear to background as the spec requires + frame.ComposeOnto = 0 + } } prev_disposal, prev_compose_onto = g.Disposal[i], frame.ComposeOnto self.Frames = append(self.Frames, &frame) diff --git a/vendor/github.com/kovidgoyal/imaging/publish.py b/vendor/github.com/kovidgoyal/imaging/publish.py index 090ac0f8b..f403c826a 100644 --- a/vendor/github.com/kovidgoyal/imaging/publish.py +++ b/vendor/github.com/kovidgoyal/imaging/publish.py @@ -5,7 +5,7 @@ import os import subprocess -VERSION = "1.8.18" +VERSION = "1.8.19" def run(*args: str): diff --git a/vendor/modules.txt b/vendor/modules.txt index c90eb7d84..8fb02d174 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -894,7 +894,7 @@ github.com/kovidgoyal/go-parallel # github.com/kovidgoyal/go-shm v1.0.0 ## explicit; go 1.24.0 github.com/kovidgoyal/go-shm -# github.com/kovidgoyal/imaging v1.8.18 +# github.com/kovidgoyal/imaging v1.8.19 ## explicit; go 1.24.0 github.com/kovidgoyal/imaging github.com/kovidgoyal/imaging/apng