fix(vips): check magick type support

master
Tomas Aparicio 9 years ago
parent dfd6e8fe2d
commit 8e0592bb9a

@ -106,15 +106,15 @@ func IsImageTypeSupportedByVips(t ImageType) bool {
imageMutex.RLock()
// Discover supported image types and cache the result
itShouldDiscovery := len(SupportedImageTypes) == 0
if itShouldDiscovery {
itShouldDiscover := len(SupportedImageTypes) == 0
if itShouldDiscover {
imageMutex.RUnlock()
discoverSupportedImageTypes()
}
// Check if image type is actually supported
isSupported, ok := SupportedImageTypes[t]
if !itShouldDiscovery {
if !itShouldDiscover {
imageMutex.RUnlock()
}

@ -161,6 +161,9 @@ func VipsIsTypeSupported(t ImageType) bool {
if t == TIFF {
return int(C.vips_type_find_bridge(C.TIFF)) != 0
}
if t == MAGICK {
return int(C.vips_type_find_bridge(C.MAGICK)) != 0
}
return false
}
@ -512,7 +515,7 @@ func vipsImageType(buf []byte) ImageType {
if IsImageTypeSupportedByVips(SVG) && IsSVGImage(buf) {
return SVG
}
if strings.HasSuffix(readImageType(buf), "MagickBuffer") {
if IsImageTypeSupportedByVips(MAGICK) && strings.HasSuffix(readImageType(buf), "MagickBuffer") {
return MAGICK
}
return UNKNOWN

Loading…
Cancel
Save