summaryrefslogtreecommitdiffstats
path: root/src/platformsupport
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2012-10-18 19:31:59 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-10-19 00:44:54 +0200
commit730a5a994ff46055055c58b25bd059373dddb934 (patch)
tree74dff63b02bb5d0ed76951f3f7d1b68e52f5a433 /src/platformsupport
parent3ebee851b29e724dfb5fda7f057d105b0b0fa9ba (diff)
Accessibility: make sure right objects are cached on linux
The linux test would actually fail because the qobjects created could end up having the same address (create-delete-create...). After an object is deleted, it's not instantly removed from the cache of valid objects. Instead it would stay in the list with it's smart pointer becoming zero. This patch adds the missing null pointer check so we are always up to date. Change-Id: Ia7be14741d4798c2b8e75cb7127298c73cf206ef Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Diffstat (limited to 'src/platformsupport')
-rw-r--r--src/platformsupport/linuxaccessibility/atspiadaptor.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/platformsupport/linuxaccessibility/atspiadaptor.cpp b/src/platformsupport/linuxaccessibility/atspiadaptor.cpp
index bea84d04fb..54ecf537f2 100644
--- a/src/platformsupport/linuxaccessibility/atspiadaptor.cpp
+++ b/src/platformsupport/linuxaccessibility/atspiadaptor.cpp
@@ -1540,7 +1540,7 @@ QString AtSpiAdaptor::pathForInterface(const QAIPointer &interface, bool inDestr
quintptr uintptr = reinterpret_cast<quintptr>(interfaceWithObject->object());
path.prepend(QLatin1String(QSPI_OBJECT_PATH_PREFIX) + QString::number(uintptr));
- if (!inDestructor && !m_handledObjects.contains(uintptr))
+ if (!inDestructor && (!m_handledObjects.contains(uintptr) || m_handledObjects.value(uintptr) == 0))
m_handledObjects[uintptr] = QPointer<QObject>(interfaceWithObject->object());
return path;