Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(326)

Unified Diff: src/gpu/SkGr.cpp

Issue 1674673002: Alter SkXfermode's asFragmentProcessor & asXPFactory contracts (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Fix comment Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/gpu/SkGr.cpp
diff --git a/src/gpu/SkGr.cpp b/src/gpu/SkGr.cpp
index e4dc467e7f8b9ce2ccd27d5957f505371a515063..c89229a8a4c6b41d698fa94b8f1c2e2f9d24871f 100644
--- a/src/gpu/SkGr.cpp
+++ b/src/gpu/SkGr.cpp
@@ -489,10 +489,10 @@ static inline bool skpaint_to_grpaint_impl(GrContext* context,
}
}
- SkXfermode* mode = skPaint.getXfermode();
- GrXPFactory* xpFactory = nullptr;
- SkXfermode::AsXPFactory(mode, &xpFactory);
- SkSafeUnref(grPaint->setXPFactory(xpFactory));
+ SkXfermode* xfermode = skPaint.getXfermode();
+ if (xfermode) {
egdaniel 2016/02/08 15:32:11 This is the check for srcOver right? So that we ke
robertphillips 2016/02/08 15:54:53 Done.
+ grPaint->setXPFactory(xfermode->asXPFactory())->unref();
+ }
#ifndef SK_IGNORE_GPU_DITHER
if (skPaint.isDither() && grPaint->numColorFragmentProcessors() > 0) {

Powered by Google App Engine
This is Rietveld 408576698