Commit eec8426
committed
Add self-removal from WidgetManager in generated destructor
When app exits with a generated widget still in WidgetManager (e.g., user
closes window directly), LawnApp's destructor only cleans up known member
widgets (mGameSelector, mBoard, etc.). Unknown generated widgets remain
in WidgetManager's mWidgets list. When delete mWidgetManager runs,
~WidgetContainer() asserts mWidgets.empty().
Fix: add mWidgetManager->RemoveWidget(this) in generated destructor so
the widget removes itself from the manager before base destruction.
Combined with existing RemoveAllWidgets(false, false) and member
variable deletion, this ensures clean teardown in all paths.1 parent 6d6c596 commit eec8426
1 file changed
Lines changed: 3 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
285 | 285 | | |
286 | 286 | | |
287 | 287 | | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
288 | 291 | | |
289 | 292 | | |
290 | 293 | | |
| |||
0 commit comments