From 676129d7ee57347798683d444823e7723776d8ec Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Wed, 31 Aug 2016 15:38:57 +0200 Subject: Run tst_QFiledialog::widgetlessNativeDialog() last widgetlessNativeDialog() is the only test function that creates a native file dialog instance. GTK+ versions prior 3.15.5 have a nasty bug (https://bugzilla.gnome.org/show_bug.cgi?id=725164) in GtkFileChooserWidget, which makes it leak its folder change callback, causing a crash "at some point later". Running the native test last is enough to avoid spinning the event loop after the test, and that way circumvent the crash (QTBUG-55276). The crash has been fixed in GTK+ 3.15.5, but the RHEL 7.2 CI has GTK+ 3.14.13 installed. Change-Id: I867755969a4458693bd12f848d052adf77a2086e Task-number: QTBUG-55276 Reviewed-by: Friedemann Kleint --- .../auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'tests/auto/widgets/dialogs/qfiledialog') diff --git a/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp b/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp index 57af76b0d5..e61c61ddfd 100644 --- a/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp +++ b/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp @@ -132,7 +132,6 @@ private slots: void saveButtonText(); void clearLineEdit(); void enableChooseButton(); - void widgetlessNativeDialog(); void selectedFilesWithoutWidgets(); void trailingDotsAndSpaces(); #ifdef Q_OS_UNIX @@ -144,6 +143,20 @@ private slots: void rejectModalDialogs(); void QTBUG49600_nativeIconProviderCrash(); + // NOTE: Please keep widgetlessNativeDialog() as the LAST test! + // + // widgetlessNativeDialog() is the only test function that creates + // a native file dialog instance. GTK+ versions prior 3.15.5 have + // a nasty bug (https://bugzilla.gnome.org/show_bug.cgi?id=725164) + // in GtkFileChooserWidget, which makes it leak its folder change + // callback, causing a crash "at some point later". Running the + // native test last is enough to avoid spinning the event loop after + // the test, and that way circumvent the crash. + // + // The crash has been fixed in GTK+ 3.15.5, but the RHEL 7.2 CI has + // GTK+ 3.14.13 installed (QTBUG-55276). + void widgetlessNativeDialog(); + private: void cleanupSettingsFile(); }; -- cgit v1.2.3