[Interest] Qt at iOS: Crash on null QWindow pointer in QIOSInputContext::scrollToCursor
Gustavsen Richard
Richard.Gustavsen at theqtcompany.com
Tue Nov 10 09:27:36 CET 2015
Which version on Qt are you using? It looks like this was fixed in 5.5:
https://codereview.qt-project.org/#/c/109592/
-Richard
________________________________
Fra: Interest <interest-bounces at qt-project.org> på vegne av Robert Iakobashvili <coroberti at gmail.com>
Sendt: 10. november 2015 06:49
Til: interest at qt-project.org
Emne: [Interest] Qt at iOS: Crash on null QWindow pointer in QIOSInputContext::scrollToCursor
Gentlemen,
My app was crashing on a null QWindow pointer
from focusView() in QIOSInputContext::scrollToCursor
Unfortunately, my attempt to create a reproducing example
failed; thus, a formal bug-report is not an option.
The scenario is:
sending an email from a native popover over a Qt-widget app,
it was crashing on appearance of
Apple's Mail window.
It could be work-arounded by checking the result of
focusView() call prior to using it and not assuming that
it for sure contains a valid QWindow:
--- qiosinputcontext.mm.orig 2015-11-02 14:39:50.000000000 +0200
+++ qiosinputcontext.mm<http://qiosinputcontext.mm> 2015-11-02 14:45:43.000000000 +0200
@@ -456,7 +456,10 @@
const int margin = 20;
QRectF translatedCursorPos = qApp->inputMethod()->cursorRectangle();
- translatedCursorPos.translate(focusView().qwindow->geometry().topLeft());
+ QWindow* qw = focusView().qwindow;
+ if (! qw)
+ return;
+ translatedCursorPos.translate(qw->geometry().topLeft());
qreal keyboardY = [rootView convertRect:m_keyboardState.keyboardEndRect fromView:nil].origin.y;
int statusBarY = qGuiApp->primaryScreen()->availableGeometry().y();
Hope, it helps to somebody.
Take care,
Regards,
Robert
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20151110/69cd146e/attachment.html>
More information about the Interest
mailing list