https://bugs.kde.org/show_bug.cgi?id=492349

Jakob Petsovits <jpe...@petsovits.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|https://invent.kde.org/plas |https://invent.kde.org/plas
                   |ma/powerdevil/-/commit/41b4 |ma/powerdevil/-/commit/29f9
                   |ca1dc515b1e44b31f6c4b5eadeb |b949c3ad75f11499825c79ba2a3
                   |8571cd8f8                   |9344a26b0

--- Comment #11 from Jakob Petsovits <jpe...@petsovits.com> ---
Git commit 29f9b949c3ad75f11499825c79ba2a39344a26b0 by Jakob Petsovits.
Committed on 17/12/2024 at 02:50.
Pushed by jpetso into branch 'Plasma/6.2'.

daemon: Don't crash in PowerDevil::Core::unloadAllActiveActions()

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


(cherry picked from commit 41b4ca1dc515b1e44b31f6c4b5eadeb8571cd8f8)

Co-authored-by: Jakob Petsovits <jpe...@petsovits.com>

M  +4    -4    daemon/powerdevilcore.cpp

https://invent.kde.org/plasma/powerdevil/-/commit/29f9b949c3ad75f11499825c79ba2a39344a26b0

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to