qt5base-lts/tests/auto/widgets/dialogs
Marc Mutz c876bb1f13 QInputDialog: prevent crash in static get*() functions when parent gets deleted
As explained in

   https://blogs.kde.org/2009/03/26/how-crash-almost-every-qtkde-application-and-how-fix-it-0

creating dialogs on the stack is a bad idea if the
application or the dialog's parent window can be closed
by means other than user interaction (such as a timer or
an IPC call). Since we cannot know whether Qt is used to
build such an application, we must assume it is, create
the dialog on the heap, and monitor its lifetime with a
QPointer.

Instead of using manual resource management, add a
minimal implementation of QAutoPointer, and use that in
all static get*() functions.

Task-number: QTBUG-54693
Change-Id: I6157dca18608e02be1ea2c2defbc31641defc9d1
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2017-02-06 14:41:46 +00:00
..
qcolordialog Updated license headers 2016-01-21 18:55:18 +00:00
qdialog QtWidgets: Remove Windows CE. 2016-04-07 10:24:45 +00:00
qerrormessage Updated license headers 2016-01-21 18:55:18 +00:00
qfiledialog tests/auto/widgets: use QCOMPARE(., nullptr) 2016-11-30 07:24:47 +00:00
qfiledialog2 Merge remote-tracking branch 'origin/5.7' into 5.8 2016-11-24 10:31:21 +01:00
qfilesystemmodel tests/auto/widgets: use QCOMPARE(., nullptr) 2016-11-30 07:24:47 +00:00
qfontdialog Merge remote-tracking branch 'origin/5.7' into dev 2016-05-23 21:09:46 +02:00
qinputdialog QInputDialog: prevent crash in static get*() functions when parent gets deleted 2017-02-06 14:41:46 +00:00
qmessagebox QtWidgets: Remove Windows CE. 2016-04-07 10:24:45 +00:00
qprogressdialog Updated license headers 2016-01-21 18:55:18 +00:00
qsidebar Remove the traces of the discontinued android-no-sdk platform 2016-03-30 10:12:34 +00:00
qwizard tests/auto/widgets: use QCOMPARE(., nullptr) 2016-11-30 07:24:47 +00:00
dialogs.pro Use qtConfig throughout in qtbase 2016-08-19 04:28:05 +00:00