From: commit-bot@chromium.org Date: Wed, 14 May 2014 16:32:31 +0000 (+0000) Subject: update NeedsDeepCopy X-Git-Tag: submit/tizen/20180928.044319~7727 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9cb4283401f0acf117de523b4b676eca293d7143;p=platform%2Fupstream%2FlibSkiaSharp.git update NeedsDeepCopy BUG=skia: R=mtklein@google.com, scroggo@google.com, dominikg@chromium.org Author: reed@google.com Review URL: https://codereview.chromium.org/289723002 git-svn-id: http://skia.googlecode.com/svn/trunk@14736 2bbb7eff-a529-9590-31e7-b0007b416f81 --- diff --git a/src/core/SkPaintPriv.cpp b/src/core/SkPaintPriv.cpp index 8021f7df83..a8b52e998c 100644 --- a/src/core/SkPaintPriv.cpp +++ b/src/core/SkPaintPriv.cpp @@ -79,20 +79,19 @@ bool isPaintOpaque(const SkPaint* paint, bool NeedsDeepCopy(const SkPaint& paint) { /* - * These fields are known to be immutable, and so can be shallow-copied + * The types below are not yet immutable/reentrant-safe, and so we return + * true if instances of them are present in the paint. * - * getTypeface() - * getAnnotation() - * paint.getColorFilter() - * getXfermode() - * getPathEffect() - * getMaskFilter() + * Eventually we hope this list will be empty, and we can always return + * false. */ - - return paint.getShader() || + return false +#ifdef SK_SUPPORT_LEGACY_SHADER_LOCALMATRIX + || paint.getShader() +#endif #ifdef SK_SUPPORT_LEGACY_LAYERRASTERIZER_API - paint.getRasterizer() || + || paint.getRasterizer() #endif - paint.getLooper() || // needs to hide its addLayer... - paint.getImageFilter(); + || paint.getImageFilter() + ; }