summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2014-08-20 16:20:57 +0200
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2014-08-26 16:40:46 +0200
commit910c639db64c410d227aa79da37f3be4635d2c2e (patch)
treef9c8e9da1945b4e415f4cbf4bea10a5af6da8c49 /src/plugins/platforms
parentde95953c75c1c4e2989612a3462d9e2919a223d7 (diff)
Accessibility iOS: Fix crash after deleting a view
Change-Id: I64e8357fcbf7f312308490351b7c692d31db5a43 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Diffstat (limited to 'src/plugins/platforms')
-rw-r--r--src/plugins/platforms/ios/qiosplatformaccessibility.mm8
-rw-r--r--src/plugins/platforms/ios/qioswindow.mm1
2 files changed, 6 insertions, 3 deletions
diff --git a/src/plugins/platforms/ios/qiosplatformaccessibility.mm b/src/plugins/platforms/ios/qiosplatformaccessibility.mm
index db579ba559..ad8bd9bdf4 100644
--- a/src/plugins/platforms/ios/qiosplatformaccessibility.mm
+++ b/src/plugins/platforms/ios/qiosplatformaccessibility.mm
@@ -64,9 +64,11 @@ void invalidateCache(QAccessibleInterface *iface)
win = parent->window();
parent = parent->parent();
} while (!win && parent);
- Q_ASSERT(win && win->handle());
- QIOSWindow *window = static_cast<QIOSWindow*>(win->handle());
- window->clearAccessibleCache();
+
+ if (win && win->handle()) {
+ QIOSWindow *window = static_cast<QIOSWindow*>(win->handle());
+ window->clearAccessibleCache();
+ }
}
diff --git a/src/plugins/platforms/ios/qioswindow.mm b/src/plugins/platforms/ios/qioswindow.mm
index 76bd9bb2b5..d8dd875d83 100644
--- a/src/plugins/platforms/ios/qioswindow.mm
+++ b/src/plugins/platforms/ios/qioswindow.mm
@@ -85,6 +85,7 @@ QIOSWindow::~QIOSWindow()
// cancellation of all touch events.
[m_view touchesCancelled:0 withEvent:0];
+ clearAccessibleCache();
m_view->m_qioswindow = 0;
[m_view removeFromSuperview];
[m_view release];