Cherry-pick MR for !478.
Commit 584cfdf0 introduced the daemon's ability to remove actionsfrom Core::m_actionPool
if they become unsupported at runtime.Commit 7a929fa0 fixed some resulting crashes by also cleaning uprelated 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 thecorresponding action pointer in m_actionPool
. The implication isthat m_activeActions
contains action IDs that are not presentin m_actionPool
. And indeed, commit 7a929fa0 missed cleaning upthe action ID corresponding to the now-unsupported action.
With the dangling ID removed, PowerDevil should finally stop crashing.
SENTRY: FALLTHROUGH-30FBUG: 492349
(cherry picked from commit 41b4ca1d)
Co-authored-by: Jakob Petsovits jpetso@petsovits.com