tst_QFrame: fix memleak in testPainting()
Similar to 5be58ac9271555eed3a2884d827f30c164d2277d for tst_QWidget, this test leaked the result of QStyleFactory::create() and the fix is the same: cache across the test function calls. This time, it's for performance; there's like 50 different data tags for this function... Amends a8723871ee7125b97ce5467b94198e93a528c960. Pick-to: 6.8 6.5 5.15 Change-Id: I95cc1dc4459489904f3a5e0347570eb07ccdfde8 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> (cherry picked from commit 44a2d8cc2066a6230bc26d78070e75e3f19c7832) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
f1bf3cc6ee
commit
681e3fe5c1
@ -19,6 +19,15 @@ private slots:
|
|||||||
void testInitStyleOption();
|
void testInitStyleOption();
|
||||||
void testPainting_data();
|
void testPainting_data();
|
||||||
void testPainting();
|
void testPainting();
|
||||||
|
|
||||||
|
private:
|
||||||
|
mutable std::unique_ptr<QStyle> m_style;
|
||||||
|
QStyle *fusionStyle() const
|
||||||
|
{
|
||||||
|
if (!m_style)
|
||||||
|
m_style.reset(QStyleFactory::create(QStringLiteral("fusion")));
|
||||||
|
return m_style.get();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Q_DECLARE_METATYPE(QFrame::Shape)
|
Q_DECLARE_METATYPE(QFrame::Shape)
|
||||||
@ -141,7 +150,7 @@ void tst_QFrame::testPainting()
|
|||||||
QFETCH(QFrame::Shadow, shadow);
|
QFETCH(QFrame::Shadow, shadow);
|
||||||
|
|
||||||
QFrame frame;
|
QFrame frame;
|
||||||
frame.setStyle(QStyleFactory::create(QStringLiteral("fusion")));
|
frame.setStyle(fusionStyle());
|
||||||
frame.setPalette(qt_fusionPalette());
|
frame.setPalette(qt_fusionPalette());
|
||||||
frame.setFrameStyle(shape | shadow);
|
frame.setFrameStyle(shape | shadow);
|
||||||
frame.setLineWidth(lineWidth);
|
frame.setLineWidth(lineWidth);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user