From 910c639db64c410d227aa79da37f3be4635d2c2e Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Wed, 20 Aug 2014 16:20:57 +0200 Subject: Accessibility iOS: Fix crash after deleting a view Change-Id: I64e8357fcbf7f312308490351b7c692d31db5a43 Reviewed-by: Richard Moe Gustavsen --- src/plugins/platforms/ios/qiosplatformaccessibility.mm | 8 +++++--- src/plugins/platforms/ios/qioswindow.mm | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'src') 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(win->handle()); - window->clearAccessibleCache(); + + if (win && win->handle()) { + QIOSWindow *window = static_cast(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]; -- cgit v1.2.3