Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4f04336e authored by Ytai Ben-Tsvi's avatar Ytai Ben-Tsvi
Browse files

Warn against promoting owner's wp<> from ctor

Change-Id: Ie482fd9fcae39aa3cb161ffb1d879bea95a74e7b
parent 3de1bbfd
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -512,9 +512,11 @@ private:

    class EffectCallback :  public EffectCallbackInterface {
    public:
        EffectCallback(const wp<EffectChain>& chain,
        // Note: ctors taking a weak pointer to their owner must not promote it
        // during construction (but may keep a reference for later promotion).
        EffectCallback(const wp<EffectChain>& owner,
                       const wp<ThreadBase>& thread)
            : mChain(chain) {
            : mChain(owner) {
            setThread(thread);
        }

@@ -657,9 +659,11 @@ private:

    class ProxyCallback :  public EffectCallbackInterface {
    public:
                ProxyCallback(const wp<DeviceEffectProxy>& proxy,
        // Note: ctors taking a weak pointer to their owner must not promote it
        // during construction (but may keep a reference for later promotion).
        ProxyCallback(const wp<DeviceEffectProxy>& owner,
                const sp<DeviceEffectManagerCallback>& callback)
                    : mProxy(proxy), mManagerCallback(callback) {}
            : mProxy(owner), mManagerCallback(callback) {}

        status_t createEffectHal(const effect_uuid_t *pEffectUuid,
               int32_t sessionId, int32_t deviceId, sp<EffectHalInterface> *effect) override;