From 0cad334ab6c6d3f16edf85dadd0f588be6860740 Mon Sep 17 00:00:00 2001
From: Jan Arve Saether <jan-arve.saether@digia.com>
Date: Wed, 15 May 2013 10:56:40 +0200
Subject: [PATCH] Only call QA::updateAccessibility() if the "control owner" is
 a QWidget

QGraphicsItems are not accessible, and calling updateAccessibility()
with a QGraphicsTextItem caused the accessibility framework to try
to load a plugin for QGraphicsTextItem. Since that was not found, it
dumped this on the console:
"Cannot create accessible interface for object: QGraphicsTextItem"

Task-number: QTBUG-29720

Change-Id: I4aaa08ee6e97f03617fa08da0c6ef35992efdebf
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
---
 src/widgets/widgets/qwidgettextcontrol.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp
index 99493704b5a..de06d4454a3 100644
--- a/src/widgets/widgets/qwidgettextcontrol.cpp
+++ b/src/widgets/widgets/qwidgettextcontrol.cpp
@@ -579,7 +579,7 @@ void QWidgetTextControlPrivate::selectionChanged(bool forceEmitSelectionChanged
     if (forceEmitSelectionChanged) {
         emit q->selectionChanged();
 #ifndef QT_NO_ACCESSIBILITY
-        if (q->parent()) {
+        if (q->parent() && q->parent()->isWidgetType()) {
             QAccessibleTextSelectionEvent ev(q->parent(), cursor.anchor(), cursor.position());
             QAccessible::updateAccessibility(&ev);
         }
@@ -602,7 +602,7 @@ void QWidgetTextControlPrivate::selectionChanged(bool forceEmitSelectionChanged
                     || cursor.anchor() != lastSelectionAnchor)))) {
         emit q->selectionChanged();
 #ifndef QT_NO_ACCESSIBILITY
-        if (q->parent()) {
+        if (q->parent() && q->parent()->isWidgetType()) {
             QAccessibleTextSelectionEvent ev(q->parent(), cursor.anchor(), cursor.position());
             QAccessible::updateAccessibility(&ev);
         }
-- 
GitLab