Start: Fix memory leak

* Set parent object to FileCardDelegate so that it will be destroyed if the list view is destroyed
* Inside FileCardDelegate::paint() delete the widget
This commit is contained in:
wmayer
2024-04-24 15:00:15 +02:00
parent 60c04fc331
commit 3a36c737fd
2 changed files with 2 additions and 1 deletions

View File

@@ -164,6 +164,7 @@ void FileCardDelegate::paint(QPainter* painter,
widget->render(painter, QPoint(), QRegion(), QWidget::DrawChildren);
painter->restore();
delete pixmap;
delete widget;
}

View File

@@ -266,7 +266,7 @@ QString StartView::fileCardStyle() const
void StartView::configureFileCardWidget(QListView* fileCardWidget)
{
auto delegate = gsl::owner<FileCardDelegate*>(new FileCardDelegate);
auto delegate = gsl::owner<FileCardDelegate*>(new FileCardDelegate(fileCardWidget));
fileCardWidget->setItemDelegate(delegate);
fileCardWidget->setMinimumWidth(fileCardWidget->parentWidget()->width());
// fileCardWidget->setGridSize(