tst_QGraphicsWidget: fix memleak in shortcutsDeletion()
The QGraphicsWidget didn't have a parent, and wasn't deleted by the test function, so it leaked. To fix, hold it in unique_ptr. While we're at it, and so that it doesn't look too out of place, also hold the other parent-less QGraphicsWidget in a unique_ptr. The action, OTOH, has a parent, so we don't need to change something there. Amends the start of the public history. Pick-to: 6.8 6.5 5.15 Change-Id: I0597b7ecd293ac54981df9e276c38c385ac811c7 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> (cherry picked from commit 92c1413c087c5435858f10c0e0c878bc25211b8f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
604a76c8b3
commit
c57d487d9b
@ -2567,16 +2567,16 @@ void tst_QGraphicsWidget::windowFlags()
|
|||||||
|
|
||||||
void tst_QGraphicsWidget::shortcutsDeletion()
|
void tst_QGraphicsWidget::shortcutsDeletion()
|
||||||
{
|
{
|
||||||
QGraphicsWidget *widget = new QGraphicsWidget;
|
auto widget = std::make_unique<QGraphicsWidget>();
|
||||||
QGraphicsWidget *widget2 = new QGraphicsWidget;
|
const auto widget2 = std::make_unique<QGraphicsWidget>();
|
||||||
widget->setMinimumSize(40, 40);
|
widget->setMinimumSize(40, 40);
|
||||||
QWidgetAction *del = new QWidgetAction(widget);
|
QWidgetAction *del = new QWidgetAction(widget.get());
|
||||||
del->setIcon(QIcon("edit-delete"));
|
del->setIcon(QIcon("edit-delete"));
|
||||||
del->setShortcut(Qt::Key_Delete);
|
del->setShortcut(Qt::Key_Delete);
|
||||||
del->setShortcutContext(Qt::WidgetShortcut);
|
del->setShortcutContext(Qt::WidgetShortcut);
|
||||||
widget2->addAction(del);
|
widget2->addAction(del);
|
||||||
widget2->addAction(del);
|
widget2->addAction(del);
|
||||||
delete widget;
|
widget.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
class MessUpPainterWidget : public QGraphicsWidget
|
class MessUpPainterWidget : public QGraphicsWidget
|
||||||
|
Loading…
x
Reference in New Issue
Block a user