qt6-bb10/tests
David Faure 3e7463411e Fix crash when the focus widget gets a focus proxy after the fact
QApplicationPrivate::focus_widget became a dangling pointer
in the following scenario:

A widget first gets focus and later on gets a focus proxy.
QApplicationPrivate::focus_widget was still pointing to the initial widget.
Upon destruction, QWidget::hasFocus() [which follows to the focus proxy
and then compares with focus_widget] was therefore false for both
widgets. So QWidget::clearFocus() didn't call
QApplicationPrivate::setFocusWidget(0) for either of them. As a
result, focus_widget remained set, and became dangling.

In real life, this happened with a QWebEngineView, which the application
gave focus to upon creation. At that time it doesn't have a focus proxy
yet. That happens later, in QWebEngineViewPrivate::widgetChanged.

https://bugs.kde.org/show_bug.cgi?id=381793

Change-Id: Ifee610bb76a2d4d2797b98ece9bffe5fffe3c6a6
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2019-07-29 17:15:02 +02:00
..
auto Fix crash when the focus widget gets a focus proxy after the fact 2019-07-29 17:15:02 +02:00
baselineserver Do not mix QByteArray with QString in arithmetic 2019-03-08 14:20:54 +00:00
benchmarks Merge remote-tracking branch 'origin/5.12' into 5.13 2019-07-26 10:13:06 +02:00
global
libfuzzer Fix typos in readme 2019-07-11 14:17:08 +02:00
manual Merge remote-tracking branch 'origin/5.12' into 5.13 2019-06-28 01:00:23 +02:00
shared tst_qfileinfo: Refactor ntfsJunctionPointsAndSymlinks() 2018-09-30 09:59:09 +00:00
testserver Select single-name SSL certificate for test servers using host network 2019-01-28 14:03:34 +00:00
README
tests.pro

README

This directory contains autotests and benchmarks based on Qt Test. In order
to run the autotests reliably, you need to configure a desktop to match the
test environment that these tests are written for.

Linux X11:

   * The user must be logged in to an active desktop; you can't run the
     autotests without a valid DISPLAY that allows X11 connections.

   * The tests are run against a KDE3 or KDE4 desktop.

   * Window manager uses "click to focus", and not "focus follows mouse". Many
     tests move the mouse cursor around and expect this to not affect focus
     and activation.

   * Disable "click to activate", i.e., when a window is opened, the window
     manager should automatically activate it (give it input focus) and not
     wait for the user to click the window.