projects
/
platform
/
upstream
/
libSkiaSharp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
aeb7959
)
SkXPS: handle case where snapSpecial() returns null
author
Hal Canary
<halcanary@google.com>
Fri, 14 Oct 2016 15:19:43 +0000
(11:19 -0400)
committer
Skia Commit-Bot
<skia-commit-bot@chromium.org>
Mon, 7 Nov 2016 15:01:53 +0000
(15:01 +0000)
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3415
Change-Id: I91bfbeb5751d5fd87e0361255ccb0350c3f3c850
Reviewed-on: https://skia-review.googlesource.com/3415
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Reed <reed@google.com>
src/core/SkCanvas.cpp
patch
|
blob
|
history
diff --git
a/src/core/SkCanvas.cpp
b/src/core/SkCanvas.cpp
index
f4896cb
..
c42ee86
100644
(file)
--- a/
src/core/SkCanvas.cpp
+++ b/
src/core/SkCanvas.cpp
@@
-1415,8
+1415,9
@@
void SkCanvas::internalDrawDevice(SkBaseDevice* srcDev, int x, int y, const SkPa
paint = &looper.paint();
SkImageFilter* filter = paint->getImageFilter();
SkIPoint pos = { x - iter.getX(), y - iter.getY() };
- if (filter) {
- dstDev->drawSpecial(iter, srcDev->snapSpecial().get(), pos.x(), pos.y(), *paint);
+ sk_sp<SkSpecialImage> specialImage;
+ if (filter && (specialImage = srcDev->snapSpecial())) {
+ dstDev->drawSpecial(iter, specialImage.get(), pos.x(), pos.y(), *paint);
} else {
dstDev->drawDevice(iter, srcDev, pos.x(), pos.y(), *paint);
}