diff options
author | Axel Spoerl <axel.spoerl@qt.io> | 2023-04-12 19:43:30 +0200 |
---|---|---|
committer | Axel Spoerl <axel.spoerl@qt.io> | 2023-04-13 10:03:52 +0200 |
commit | d953bc76bb67b6e24936af5ab04887e937d5d5c3 (patch) | |
tree | 16203666e7c7f681a975069fd72dea444bbb758e | |
parent | 143d00cc2ccc113c935fab1de23614f3d8764a89 (diff) |
QAbstractButton::setChecked() - don't update accessibility if stale
A QPointer is used as a guard for calling setChecked on a stale object.
The guard is not checked on accessibility updates.
This patch wraps the accessibility update in a guard check.
Fixes: QTBUG-112759
Pick-to: 6.5
Change-Id: Ida47c181b7968911c1805dc244b86347e7afe81b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
-rw-r--r-- | src/widgets/widgets/qabstractbutton.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/widgets/widgets/qabstractbutton.cpp b/src/widgets/widgets/qabstractbutton.cpp index 218ec88f53..3b40ad5285 100644 --- a/src/widgets/widgets/qabstractbutton.cpp +++ b/src/widgets/widgets/qabstractbutton.cpp @@ -613,12 +613,13 @@ void QAbstractButton::setChecked(bool checked) if (guard) d->emitToggled(checked); - #if QT_CONFIG(accessibility) - QAccessible::State s; - s.checked = true; - QAccessibleStateChangeEvent event(this, s); - QAccessible::updateAccessibility(&event); + if (guard) { + QAccessible::State s; + s.checked = true; + QAccessibleStateChangeEvent event(this, s); + QAccessible::updateAccessibility(&event); + } #endif } |