diff options
Diffstat (limited to 'vendor/golang.org/x/image/draw/gen.go')
-rw-r--r-- | vendor/golang.org/x/image/draw/gen.go | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/vendor/golang.org/x/image/draw/gen.go b/vendor/golang.org/x/image/draw/gen.go index 65a712350..822bb6a50 100644 --- a/vendor/golang.org/x/image/draw/gen.go +++ b/vendor/golang.org/x/image/draw/gen.go @@ -877,8 +877,9 @@ func relName(s string) string { const ( codeRoot = ` func (z $receiver) Scale(dst Image, dr image.Rectangle, src image.Image, sr image.Rectangle, op Op, opts *Options) { - // Try to simplify a Scale to a Copy. - if dr.Size() == sr.Size() { + // Try to simplify a Scale to a Copy when DstMask is not specified. + // If DstMask is not nil, Copy will call Scale back with same dr and sr, and cause stack overflow. + if dr.Size() == sr.Size() && (opts == nil || opts.DstMask == nil) { Copy(dst, dr.Min, src, sr, op, opts) return } |