mirror of
https://github.com/Mudlet/Mudlet
synced 2026-08-13 18:26:27 -04:00
#### Brief overview of PR changes/additions - The notepad and IRC client are parentless windows freed only in `Host::closeChildren()`; a `Host` destroyed without that call orphaned them. `~Host()` now closes and deletes them, nulling each `QPointer` first so both teardown paths stay single-delete. Closing (not just deleting) the notepad also saves the notes and window state. - The toolbars are not leaked at exit, but survived their profile on screen holding a freed `TAction`; `~Host()` now deletes them synchronously. #### Motivation for adding to Mudlet Same defect class PR #9700 "fix: trigger editor and deleted item subtrees leaking memory" fixed for the editor. Two narrow production paths reach `~Host()` without `closeChildren()` (`requestClose()` returns early when `mpConsole` is already gone, and `~HostManager` runs from `~mudlet`), and the test harness takes the second on every run. #### Other info (issues closed, discussion etc) Test case: new `HostChildTeardownTest` - three teardown orderings, each fails without the fix; under ASan+LSan the binary goes from 851,208 to 3,334 leaked bytes (residue is the settings floor fixed in #9694). 79/79 functional tests pass twice; profile-close/quit with the notepad open are clean under ASan on Xvfb. Assisted-by: Claude:claude-opus-5 |
||
|---|---|---|
| .. | ||
| cmake-scripts | ||
| communi | ||
| discord/rpc | ||
| edbee-lib@a3ae51bbb8 | ||
| kdtoolbox/singleshot_connect | ||
| lcf@4aa25029ea | ||
| qt-tags-widget@26f177cbce | ||
| qtkeychain@875f77d9f6 | ||
| sentry-native@a185ce80ba | ||