diff options
author | reed@google.com <reed@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-24 17:41:35 +0000 |
---|---|---|
committer | reed@google.com <reed@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-24 17:41:35 +0000 |
commit | d6bdc0bf909807183c161e9d3b59b498ce3960bf (patch) | |
tree | d38a3bab033070d5aec8f985ea85f245baf0ccc7 | |
parent | 23ec180256a46e94df7d5cb4f8b2eafe75c6cf1b (diff) | |
download | chromium_src-d6bdc0bf909807183c161e9d3b59b498ce3960bf.zip chromium_src-d6bdc0bf909807183c161e9d3b59b498ce3960bf.tar.gz chromium_src-d6bdc0bf909807183c161e9d3b59b498ce3960bf.tar.bz2 |
Check for no pixels after calling lockPixels(). If so, we return rather than
dereferencing null.
http://code.google.com/p/chromium/issues/detail?id=79369
Review URL: http://codereview.chromium.org/7064024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86442 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | ui/gfx/color_utils.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ui/gfx/color_utils.cc b/ui/gfx/color_utils.cc index eb639f9..dfcf196 100644 --- a/ui/gfx/color_utils.cc +++ b/ui/gfx/color_utils.cc @@ -208,6 +208,9 @@ SkColor GetAverageColorOfFavicon(SkBitmap* favicon, SkAlpha alpha) { SkAutoLockPixels favicon_lock(*favicon); SkColor* pixels = static_cast<SkColor*>(favicon->getPixels()); + if (!pixels) + return SkColorSetARGB(alpha, 0, 0, 0); + // Assume ARGB_8888 format. DCHECK(favicon->getConfig() == SkBitmap::kARGB_8888_Config); SkColor* current_color = pixels; @@ -241,6 +244,9 @@ SkColor GetAverageColorOfFavicon(SkBitmap* favicon, SkAlpha alpha) { void BuildLumaHistogram(SkBitmap* bitmap, int histogram[256]) { SkAutoLockPixels bitmap_lock(*bitmap); + if (!bitmap->getPixels()) + return; + // Assume ARGB_8888 format. DCHECK(bitmap->getConfig() == SkBitmap::kARGB_8888_Config); |