mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-07-30 07:44:13 +02:00
Fix four memory leaks found by AddressSanitizer
- StyleEditor: QGridLayout(this) pre-empted the widget's layout slot, causing setLayout(main_layout) to silently fail and orphan main_layout. Fix: use QGridLayout() without a parent so setLayout() succeeds. - ExportDialog: ~ExportDialog() was empty, leaving ExportDiagramLine heap objects in diagram_lines_ unfreed. Fix: qDeleteAll(diagram_lines_). - GenericPanel::getItemForDiagram: when called without the bool* created arg, it created a parentless QTreeWidgetItem that callers immediately discarded. Fix: return nullptr when created==nullptr and item not found (all callers already guard with if (item)). - ElementScene: m_paste_area (created in initPasteArea) was temporarily added/removed from the scene during XML loading but never freed in the destructor. Fix: delete it if not currently in the scene. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -321,9 +321,11 @@ QTreeWidgetItem *GenericPanel::getItemForDiagram(Diagram *diagram,
|
||||
if (created) *created = false;
|
||||
return(diagram_qtwi);
|
||||
}
|
||||
|
||||
|
||||
if (!created) return(nullptr);
|
||||
|
||||
diagram_qtwi = makeItem(QET::Diagram);
|
||||
if (created) *created = true;
|
||||
*created = true;
|
||||
return(diagram_qtwi);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user