Explicitly friend ::SkPrivateEffectInitializer to flattenables.

Looks like the -Wmicrosoft warnings in the bug are coming up specificically
because many the effects in SkLightingImageFilter are defined inside an
anonymous namespace (spanning, I think, lines 33-702 today).

BUG=skia:4091

No public API changes.
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1311783004
This commit is contained in:
mtklein 2015-08-24 12:33:19 -07:00 committed by Commit bot
parent 0e6ff3882d
commit ab374cf894

View File

@ -13,6 +13,8 @@
class SkReadBuffer;
class SkWriteBuffer;
class SkPrivateEffectInitializer;
/*
* Flattening is straight-forward:
* 1. call getFactory() so we have a function-ptr to recreate the subclass
@ -47,7 +49,7 @@ class SkWriteBuffer;
#define SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(flattenable) \
private: \
static SkFlattenable* CreateProc(SkReadBuffer&); \
friend class SkPrivateEffectInitializer; \
friend class ::SkPrivateEffectInitializer; \
public: \
Factory getFactory() const override { return CreateProc; }