Fix bug, always keep fIsScaleTranslate in correct state

BUG:639179
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2263513003

Review-Url: https://codereview.chromium.org/2263513003
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index 6fbc4fe7..e5ad3b8 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -1488,12 +1488,12 @@
 void SkCanvas::internalSetMatrix(const SkMatrix& matrix) {
     fDeviceCMDirty = true;
     fMCRec->fMatrix = matrix;
+    fIsScaleTranslate = matrix.isScaleTranslate();
 }
 
 void SkCanvas::setMatrix(const SkMatrix& matrix) {
     this->checkForDeferredSave();
     this->internalSetMatrix(matrix);
-    fIsScaleTranslate = matrix.isScaleTranslate();
     this->didSetMatrix(matrix);
 }