diff options
Diffstat (limited to 'src/core/SkRecordOpts.cpp')
-rw-r--r-- | src/core/SkRecordOpts.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/SkRecordOpts.cpp b/src/core/SkRecordOpts.cpp index 605caa3b06..bd8364fcda 100644 --- a/src/core/SkRecordOpts.cpp +++ b/src/core/SkRecordOpts.cpp @@ -192,6 +192,11 @@ struct SaveLayerDrawRestoreNooper { return false; } + if (match->first<SaveLayer>()->saveLayerFlags & (1U << 31)) { + // can't throw away the layer if the kDontClipToLayer_PrivateSaveLayerFlag is set + return false; + } + // A SaveLayer's bounds field is just a hint, so we should be free to ignore it. SkPaint* layerPaint = match->first<SaveLayer>()->paint; SkPaint* drawPaint = match->second<SkPaint>(); |