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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED
      Latest Commit|                            |https://invent.kde.org/plas
                   |                            |ma/powerdevil/-/commit/41b4
                   |                            |ca1dc515b1e44b31f6c4b5eadeb
                   |                            |8571cd8f8

--- Comment #10 from Jakob Petsovits <jpe...@petsovits.com> ---
Git commit 41b4ca1dc515b1e44b31f6c4b5eadeb8571cd8f8 by Jakob Petsovits.
Committed on 17/12/2024 at 02:33.
Pushed by jpetso into branch 'master'.

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

M  +4    -4    daemon/powerdevilcore.cpp

https://invent.kde.org/plasma/powerdevil/-/commit/41b4ca1dc515b1e44b31f6c4b5eadeb8571cd8f8

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

Reply via email to