Merge pull request #22 from kanle-hotstar/bugfix/avoid-panic-when-loading-image-cache
Fix a panic issue of loading an image from cache
This commit is contained in:
commit
79fde3ee1d
1 changed files with 7 additions and 4 deletions
|
@ -25,10 +25,11 @@ type Image struct {
|
||||||
func (cv *Canvas) LoadImage(src interface{}) (*Image, error) {
|
func (cv *Canvas) LoadImage(src interface{}) (*Image, error) {
|
||||||
if img, ok := src.(*Image); ok {
|
if img, ok := src.(*Image); ok {
|
||||||
return img, nil
|
return img, nil
|
||||||
} else if img, ok := cv.images[src]; ok {
|
} else if _, ok := src.([]byte); !ok {
|
||||||
|
if img, ok := cv.images[src]; ok {
|
||||||
return img, nil
|
return img, nil
|
||||||
}
|
}
|
||||||
|
}
|
||||||
var srcImg image.Image
|
var srcImg image.Image
|
||||||
switch v := src.(type) {
|
switch v := src.(type) {
|
||||||
case image.Image:
|
case image.Image:
|
||||||
|
@ -59,7 +60,9 @@ func (cv *Canvas) LoadImage(src interface{}) (*Image, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
cvimg := &Image{cv: cv, img: backendImg}
|
cvimg := &Image{cv: cv, img: backendImg}
|
||||||
|
if _, ok := src.([]byte); !ok {
|
||||||
cv.images[src] = cvimg
|
cv.images[src] = cvimg
|
||||||
|
}
|
||||||
return cvimg, nil
|
return cvimg, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue