summaryrefslogtreecommitdiffstats
path: root/vendor/golang.org/x/image/draw/gen.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/golang.org/x/image/draw/gen.go')
-rw-r--r--vendor/golang.org/x/image/draw/gen.go5
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
}