(cherry-pick) daemon: Don't crash in PowerDevil::Core::unloadAllActiveActions()
Cherry-pick MR for !478 (merged).
Commit 584cfdf0 introduced the daemon's ability to remove actions
from Core::m_actionPool
if they become unsupported at runtime.
Commit 7a929fa0 fixed some resulting crashes by also cleaning up
related map/set elements that contained this action.
That was not enough, we got lots of crashes coming in since then.
The (many) remaining crashes happened in unloadAllActiveActions()
,
which cycles through Core::m_activeActions
and accesses the
corresponding action pointer in m_actionPool
. The implication is
that m_activeActions
contains action IDs that are not present
in m_actionPool
. And indeed, commit 7a929fa0 missed cleaning up
the action ID corresponding to the now-unsupported action.
With the dangling ID removed, PowerDevil should finally stop crashing.
SENTRY: FALLTHROUGH-30F BUG: 492349
(cherry picked from commit 41b4ca1d)
Co-authored-by: Jakob Petsovits jpetso@petsovits.com