summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAxel Spoerl <axel.spoerl@qt.io>2023-04-12 19:43:30 +0200
committerAxel Spoerl <axel.spoerl@qt.io>2023-04-13 10:03:52 +0200
commitd953bc76bb67b6e24936af5ab04887e937d5d5c3 (patch)
tree16203666e7c7f681a975069fd72dea444bbb758e
parent143d00cc2ccc113c935fab1de23614f3d8764a89 (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.cpp11
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
}