aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/image/SkImage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/image/SkImage.cpp')
-rw-r--r--src/image/SkImage.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/image/SkImage.cpp b/src/image/SkImage.cpp
index 2a83eaf0ed..99b0be161b 100644
--- a/src/image/SkImage.cpp
+++ b/src/image/SkImage.cpp
@@ -8,6 +8,7 @@
#include "SkBitmap.h"
#include "SkBitmapCache.h"
#include "SkCanvas.h"
+#include "SkColorSpace_Base.h"
#include "SkCrossContextImageData.h"
#include "SkData.h"
#include "SkImageEncoder.h"
@@ -318,7 +319,9 @@ sk_sp<SkImage> SkImage_Base::makeColorSpace(sk_sp<SkColorSpace> target) const {
return nullptr;
}
- if (!this->colorSpace() || SkColorSpace::Equals(this->colorSpace(), target.get())) {
+ // Be sure to treat nullptr srcs as "equal to" sRGB.
+ if ((!this->colorSpace() && target->isSRGB()) ||
+ SkColorSpace_Base::EqualsIgnoreFlags(this->colorSpace(), target.get())) {
return sk_ref_sp(const_cast<SkImage_Base*>(this));
}