aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkXfermode.cpp
diff options
context:
space:
mode:
authorGravatar robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-09-16 13:40:12 +0000
committerGravatar robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-09-16 13:40:12 +0000
commitba6e954140e45e251d67934ed6ad752149fcf72f (patch)
tree2abaa3baddbbf3a75788b7841b9a6bd5e578a1db /src/core/SkXfermode.cpp
parent478884f7d3b8c7be8b62f3fa2b79192f411c3fec (diff)
Revert the revert of 11247, 11250, 11251 and 11279 (Chrome already relies on changes in r11247)
git-svn-id: http://skia.googlecode.com/svn/trunk@11287 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/core/SkXfermode.cpp')
-rw-r--r--src/core/SkXfermode.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/SkXfermode.cpp b/src/core/SkXfermode.cpp
index ac5cee4e35..9c5ccccd92 100644
--- a/src/core/SkXfermode.cpp
+++ b/src/core/SkXfermode.cpp
@@ -12,6 +12,7 @@
#include "SkFlattenableBuffers.h"
#include "SkMathPriv.h"
#include "SkString.h"
+#include "SkValidationUtils.h"
SK_DEFINE_INST_COUNT(SkXfermode)
@@ -1438,6 +1439,10 @@ protected:
fDstCoeff = rec.fDC;
// now update our function-ptr in the super class
this->INHERITED::setProc(rec.fProc);
+
+ buffer.validate(SkIsValidMode(fMode) &&
+ SkIsValidCoeff(fSrcCoeff) &&
+ SkIsValidCoeff(fDstCoeff));
}
virtual void flatten(SkFlattenableWriteBuffer& buffer) const SK_OVERRIDE {