SkImageSource::Make() returns nullptr when srcrect is empty.
BUG=skia:6389 Change-Id: Ia995da1f70cbbc0c80ab76385f0ea8cc0d48fa07 Reviewed-on: https://skia-review.googlesource.com/9943 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
This commit is contained in:
parent
ebbdec4622
commit
27ecd86b61
@ -198,6 +198,7 @@ tests_sources = [
|
||||
"$_tests/SkBase64Test.cpp",
|
||||
"$_tests/SkBlend_optsTest.cpp",
|
||||
"$_tests/skbug5221.cpp",
|
||||
"$_tests/skbug6389.cpp",
|
||||
"$_tests/SkColor4fTest.cpp",
|
||||
"$_tests/SkDOMTest.cpp",
|
||||
"$_tests/SkFixed15Test.cpp",
|
||||
|
@ -27,7 +27,7 @@ sk_sp<SkImageFilter> SkImageSource::Make(sk_sp<SkImage> image,
|
||||
const SkRect& srcRect,
|
||||
const SkRect& dstRect,
|
||||
SkFilterQuality filterQuality) {
|
||||
if (!image) {
|
||||
if (!image || srcRect.width() <= 0.0f || srcRect.height() <= 0.0f) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
23
tests/skbug6389.cpp
Normal file
23
tests/skbug6389.cpp
Normal file
@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Copyright 2017 Google Inc.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "Resources.h"
|
||||
#include "SkBlurMaskFilter.h"
|
||||
#include "SkCanvas.h"
|
||||
#include "SkImageSource.h"
|
||||
#include "SkSurface.h"
|
||||
#include "Test.h"
|
||||
|
||||
DEF_TEST(skbug_6389, r) {
|
||||
auto s = SkSurface::MakeRasterN32Premul(100, 100);
|
||||
SkPaint p;
|
||||
p.setMaskFilter(SkBlurMaskFilter::Make(SkBlurStyle::kNormal_SkBlurStyle, 5,
|
||||
SkBlurMaskFilter::kHighQuality_BlurFlag));
|
||||
p.setImageFilter(SkImageSource::Make(GetResourceAsImage("mandrill_512.png"), {0, 0, 0, 0},
|
||||
{0, 0, 0, 0}, (SkFilterQuality)0));
|
||||
s->getCanvas()->drawPaint(p);
|
||||
}
|
Loading…
Reference in New Issue
Block a user