diff options
Diffstat (limited to 'src/gui/accessible/qaccessiblecache.cpp')
-rw-r--r-- | src/gui/accessible/qaccessiblecache.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/gui/accessible/qaccessiblecache.cpp b/src/gui/accessible/qaccessiblecache.cpp index 43c4b15cb0..097634c0a3 100644 --- a/src/gui/accessible/qaccessiblecache.cpp +++ b/src/gui/accessible/qaccessiblecache.cpp @@ -49,11 +49,21 @@ QT_BEGIN_NAMESPACE \brief Maintains a cache of accessible interfaces. */ -Q_GLOBAL_STATIC(QAccessibleCache, qAccessibleCache) +static QAccessibleCache *accessibleCache = nullptr; + +static void cleanupAccessibleCache() +{ + delete accessibleCache; + accessibleCache = Q_NULLPTR; +} QAccessibleCache *QAccessibleCache::instance() { - return qAccessibleCache; + if (!accessibleCache) { + accessibleCache = new QAccessibleCache; + qAddPostRoutine(cleanupAccessibleCache); + } + return accessibleCache; } /* |