mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-07-30 16:04:12 +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:
@@ -107,6 +107,9 @@ ElementScene::~ElementScene()
|
||||
|
||||
if (m_decorator)
|
||||
delete m_decorator;
|
||||
|
||||
if (m_paste_area && !m_paste_area->scene())
|
||||
delete m_paste_area;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user