diff options
author | 2024-09-30 11:05:10 -0400 | |
---|---|---|
committer | 2024-09-30 11:05:10 -0400 | |
commit | e42f93c730a41187a512c0263499b6e5e0ecb689 (patch) | |
tree | 0064a874007ab5b041d9503eba12170881a96590 /libs/hwui/SkiaCanvas.cpp | |
parent | feff969e03eb5cd45bdf83d3a17ba94971f50cbf (diff) |
Add null colorspace protection
Fixes: 367272642
Test: none
Flag: EXEMPT bugfix
Change-Id: I6831512e799df9025a91d768094a1862802803e4
Diffstat (limited to 'libs/hwui/SkiaCanvas.cpp')
-rw-r--r-- | libs/hwui/SkiaCanvas.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libs/hwui/SkiaCanvas.cpp b/libs/hwui/SkiaCanvas.cpp index 9e825fb350d6..7c150862a422 100644 --- a/libs/hwui/SkiaCanvas.cpp +++ b/libs/hwui/SkiaCanvas.cpp @@ -619,8 +619,11 @@ bool SkiaCanvas::useGainmapShader(Bitmap& bitmap) { // If it's an unknown colortype then it's not a bitmap-backed canvas if (info.colorType() == SkColorType::kUnknown_SkColorType) return true; + auto colorSpace = info.colorSpace(); + // If we don't have a colorspace, we can't apply a gainmap + if (!colorSpace) return false; skcms_TransferFunction tfn; - info.colorSpace()->transferFn(&tfn); + colorSpace->transferFn(&tfn); auto transferType = skcms_TransferFunction_getType(&tfn); switch (transferType) { |