summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author John Reck <jreck@google.com> 2024-09-30 11:05:10 -0400
committer John Reck <jreck@google.com> 2024-09-30 11:05:10 -0400
commite42f93c730a41187a512c0263499b6e5e0ecb689 (patch)
tree0064a874007ab5b041d9503eba12170881a96590
parentfeff969e03eb5cd45bdf83d3a17ba94971f50cbf (diff)
Add null colorspace protection
Fixes: 367272642 Test: none Flag: EXEMPT bugfix Change-Id: I6831512e799df9025a91d768094a1862802803e4
-rw-r--r--libs/hwui/SkiaCanvas.cpp5
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) {