Summary: | Crash on exit with tabbed diagrams enabled | ||
---|---|---|---|
Product: | [Applications] umbrello | Reporter: | Oliver Kellogg <okellogg> |
Component: | general | Assignee: | Umbrello Development Group <umbrello-devel> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | ralf.habacker |
Priority: | NOR | ||
Version: | Git | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/sdk/umbrello/commit/9d9800c31411b0c8b0cf253c0dfddc62fbaa7d2d | Version Fixed In: | 2.33.80 (KDE releases 21.03.80) |
Description
Oliver Kellogg
2020-12-12 22:03:11 UTC
Git commit 9d9800c31411b0c8b0cf253c0dfddc62fbaa7d2d by Oliver Kellogg. Committed on 12/12/2020 at 23:51. Pushed by okellogg into branch 'master'. Fix for 'Crash on exit with tabbed diagrams enabled' umbrello/uml.cpp - In function slotTabChanged(int index) / slotTabChanged(QWidget* tab) do not call m_doc->changeCurrentView() is s_shuttingDown is true. Reason: Calling changeCurrentView accesses objects which have already been deconstructed. M +2 -2 umbrello/uml.cpp https://invent.kde.org/sdk/umbrello/commit/9d9800c31411b0c8b0cf253c0dfddc62fbaa7d2d Git commit bd8b3b1c9f2ccbd54b7fb34d95db8e6d8d94df0b by Oliver Kellogg. Committed on 13/12/2020 at 16:30. Pushed by okellogg into branch 'master'. Followup to commit 9d9800c fix for crash on exit with tabbed diagrams There was a further crash on closing in the code path UMLApp::slotFileClose() => slotFileNew() => m_doc->newDocument() due to DiagramsModel::m_views not having been reset to empty. This caused access to stale UMLView objects already deconstructed. umbrello/models/diagramsmodel.{h,cpp} - New function removeAllDiagrams clears content of m_views. umbrello/uml.cpp - In function slotFileClose call diagramsModel()->removeAllDiagrams() on m_doc before calling slotFileNew(). M +10 -0 umbrello/models/diagramsmodel.cpp M +1 -0 umbrello/models/diagramsmodel.h M +2 -0 umbrello/uml.cpp https://invent.kde.org/sdk/umbrello/commit/bd8b3b1c9f2ccbd54b7fb34d95db8e6d8d94df0b |