Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.4.0, 5.5.0
-
None
-
Win7 64bit
-
462e537e0334838a9bf90735f9fd14e1b91fc987
Description
When creating native widgets before their parent is shown (the typical order), the backing store will mark the native widget as dirty with the following call hierarchy:
> Qt5Widgets-vc120d.dll!QWidgetBackingStore::appendDirtyOnScreenWidget(QWidget * widget) Line 250 C++
Qt5Widgets-vc120d.dll!QWidgetBackingStore::markDirtyOnScreen(const QRegion & region, QWidget * widget, const QPoint & topLevelOffset) Line 703 C++
Qt5Widgets-vc120d.dll!QWidgetPrivate::drawWidget(QPaintDevice * pdev, const QRegion & rgn, const QPoint & offset, int flags, QPainter * sharedPainter, QWidgetBackingStore * backingStore) Line 5545 C++
Qt5Widgets-vc120d.dll!QWidgetPrivate::paintSiblingsRecursive(QPaintDevice * pdev, const QList<QObject *> & siblings, int index, const QRegion & rgn, const QPoint & offset, int flags, QPainter * sharedPainter, QWidgetBackingStore * backingStore) Line 5733 C++
Qt5Widgets-vc120d.dll!QWidgetPrivate::drawWidget(QPaintDevice * pdev, const QRegion & rgn, const QPoint & offset, int flags, QPainter * sharedPainter, QWidgetBackingStore * backingStore) Line 5591 C++
Qt5Widgets-vc120d.dll!QWidgetBackingStore::doSync() Line 1238 C++
Qt5Widgets-vc120d.dll!QWidgetBackingStore::sync(QWidget * exposedWidget, const QRegion & exposedRegion) Line 960 C++
Qt5Widgets-vc120d.dll!QWidgetPrivate::syncBackingStore(const QRegion & region) Line 1897 C++
Qt5Widgets-vc120d.dll!QWidgetWindow::handleExposeEvent(QExposeEvent * event) Line 773 C++
Qt5Widgets-vc120d.dll!QWidgetWindow::event(QEvent * event) Line 219 C++
Qt5Widgets-vc120d.dll!QApplicationPrivate::notify_helper(QObject * receiver, QEvent * e) Line 3722 C++
Qt5Widgets-vc120d.dll!QApplication::notify(QObject * receiver, QEvent * e) Line 3164 C++
However, the member dirtyOnScreenWidgets is only cleaned up in the destructor of QWidgetBackingStore if QT_NO_OPENGL is not defined.
Attachments
For Gerrit Dashboard: QTBUG-47499 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
122368,5 | Fix a memory leak | dev | qt/qtbase | Status: MERGED | +2 | 0 |