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

Commit 1f812f72 authored by Glenn Kasten's avatar Glenn Kasten
Browse files

Fix const sp<>& in parameter list and return value

EffectModule::addHandle and Client::heap() were declared incorrectly.

As a parameter, an sp<> should be & for efficiency, and for input
parameters it should also be const to protect the caller's value.

But as a return value, an sp<> should have neither const or &.  The "e"
in "return e;" might be located on the stack, and if there is "&" then
the caller would see the address of a variable which no longer exists.
Also, an & would make it hard to do "return 0;".
A "const" without & is meaningless in the return type.
(In this particular case, the "e" is a member field, so it was safe.)

Change-Id: I3df5f294214eb15a9d4d596c6d5ef29de97b5c27
parent acabf488
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -4065,7 +4065,7 @@ AudioFlinger::Client::~Client()
    mAudioFlinger->removeClient_l(mPid);
}

const sp<MemoryDealer>& AudioFlinger::Client::heap() const
sp<MemoryDealer> AudioFlinger::Client::heap() const
{
    return mMemoryDealer;
}
@@ -6179,7 +6179,7 @@ AudioFlinger::EffectModule::~EffectModule()
    }
}

status_t AudioFlinger::EffectModule::addHandle(sp<EffectHandle>& handle)
status_t AudioFlinger::EffectModule::addHandle(const sp<EffectHandle>& handle)
{
    status_t status;

+2 −2
Original line number Diff line number Diff line
@@ -226,7 +226,7 @@ private:
    public:
                            Client(const sp<AudioFlinger>& audioFlinger, pid_t pid);
        virtual             ~Client();
        const sp<MemoryDealer>&     heap() const;
        sp<MemoryDealer>    heap() const;
        pid_t               pid() const { return mPid; }
        sp<AudioFlinger>    audioFlinger() { return mAudioFlinger; }

@@ -1107,7 +1107,7 @@ private:
        void        setThread(const wp<ThreadBase>& thread) { mThread = thread; }
        wp<ThreadBase>& thread() { return mThread; }

        status_t addHandle(sp<EffectHandle>& handle);
        status_t addHandle(const sp<EffectHandle>& handle);
        void disconnect(const wp<EffectHandle>& handle, bool unpiniflast);
        size_t removeHandle (const wp<EffectHandle>& handle);