diff options
author | Axel Spoerl <axel.spoerl@qt.io> | 2024-01-25 17:07:34 +0100 |
---|---|---|
committer | Axel Spoerl <axel.spoerl@qt.io> | 2024-01-30 19:03:49 +0100 |
commit | 1b23260624a565efaef7830d553209175717d9e2 (patch) | |
tree | d1f2c3177502644682c8d3c917af50375c6d2bdd /src/3rdparty/libpng/pnglibconf.h | |
parent | 0710865eed73425845e4c8549c9c7dd4911ec3af (diff) |
QDialogButtonBox: Don't set focus in a dialog with StrongFocus children
A QDialogButtonBox with the first accept button becoming default, didn't
explicitly set focus on such a button in a QDialog.
d44413d526ec12ed83acd7343c2005782178c7ad implemented this missing
functionality. It set focus to the automatic default button, unless the
QDialog had a focusWidget() set.
That has caused a regression, in cases where
- the QDialog has a QWidget child with a Qt::StrongFocus policy, and
- the QDialog is not yet visible, so focusWidget() returns nullptr.
Amend d44413d526ec12ed83acd7343c2005782178c7ad:
Implement a helper in QWidgetPrivate, that returns true, if a child
with a given focus policy is found.
Do not set focus to a QDialogButtonBox's automatic default button, when
- not located inside a QDialog, or
- a focusWidget() exists, or
- the dialog has QWidget child with Qt::StrongFocus, that is not a
child of the QDialogButtonBox.
Add an autotest function.
Fixes: QTBUG-121514
Change-Id: I3c65ae36b56657f9af4a3a4b42f9b66e8bc5c534
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Diffstat (limited to 'src/3rdparty/libpng/pnglibconf.h')
0 files changed, 0 insertions, 0 deletions