From 9729daa6d478a5be011b55872616b47a4b0de14a Mon Sep 17 00:00:00 2001 From: Kanle Shi Date: Fri, 13 Dec 2019 14:49:38 +0800 Subject: [PATCH] Fix a panic issue of loading an image from cache --- images.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/images.go b/images.go index a80ec72..03da0d7 100644 --- a/images.go +++ b/images.go @@ -25,10 +25,11 @@ type Image struct { func (cv *Canvas) LoadImage(src interface{}) (*Image, error) { if img, ok := src.(*Image); ok { return img, nil - } else if img, ok := cv.images[src]; ok { - return img, nil + } else if _, ok := src.([]byte); !ok { + if img, ok := cv.images[src]; ok { + return img, nil + } } - var srcImg image.Image switch v := src.(type) { case image.Image: @@ -59,7 +60,9 @@ func (cv *Canvas) LoadImage(src interface{}) (*Image, error) { return nil, err } cvimg := &Image{cv: cv, img: backendImg} - cv.images[src] = cvimg + if _, ok := src.([]byte); !ok { + cv.images[src] = cvimg + } return cvimg, nil }