Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.5.1, 5.9.1
-
c2b877ce613cd0573d66d316b1700d84eff5e1b2
Description
When pressing the space after entering a smiley via OpenWNN mode it will cause a crash. To reproduce start the basic example and do:
- Change language to Japanese
- Click on the smiley icon
- Click on the space
It will crash with:
> Qt5Cored.dll!qt_message_fatal(QtMsgType __formal, const QMessageLogContext & context, const QString & message) Line 1684 C++ Qt5Cored.dll!QMessageLogger::fatal(const char * msg, ...) Line 796 C++ Qt5Cored.dll!qt_assert_x(const char * where, const char * what, const char * file, int line) Line 3057 C++ qtvirtualkeyboardplugind.dll!QList<StrSegment>::at(int i) Line 541 C++ qtvirtualkeyboardplugind.dll!ComposingText::setCursor(ComposingText::TextLayer layer, int pos) Line 450 C++ qtvirtualkeyboardplugind.dll!ComposingText::replaceStrSegment(ComposingText::TextLayer layer, const QList<StrSegment> & str, int num) Line 299 C++ qtvirtualkeyboardplugind.dll!OpenWnnEngineJAJP::convert(ComposingText & text) Line 317 C++ qtvirtualkeyboardplugind.dll!QtVirtualKeyboard::OpenWnnInputMethodPrivate::updateCandidateView() Line 271 C++ qtvirtualkeyboardplugind.dll!QtVirtualKeyboard::OpenWnnInputMethodPrivate::updateViewStatus(ComposingText::TextLayer layer, bool updateCandidates, bool updateEmptyText) Line 207 C++ qtvirtualkeyboardplugind.dll!QtVirtualKeyboard::OpenWnnInputMethodPrivate::startConvert(QtVirtualKeyboard::OpenWnnInputMethodPrivate::ConvertType convertType) Line 162 C++ qtvirtualkeyboardplugind.dll!QtVirtualKeyboard::OpenWnnInputMethod::keyEvent(Qt::Key key, const QString & text, QFlags<enum Qt::KeyboardModifier> modifiers) Line 715 C++ qtvirtualkeyboardplugind.dll!QtVirtualKeyboard::InputEnginePrivate::virtualKeyClick(Qt::Key key, const QString & text, QFlags<enum Qt::KeyboardModifier> modifiers, bool isAutoRepeat) Line 71 C++ qtvirtualkeyboardplugind.dll!QtVirtualKeyboard::InputEngine::virtualKeyRelease(Qt::Key key, const QString & text, QFlags<enum Qt::KeyboardModifier> modifiers) Line 280 C++ qtvirtualkeyboardplugind.dll!QtVirtualKeyboard::InputEngine::qt_static_metacall(QObject * _o, QMetaObject::Call _c, int _id, void * * _a) Line 285 C++ qtvirtualkeyboardplugind.dll!QtVirtualKeyboard::InputEngine::qt_metacall(QMetaObject::Call _c, int _id, void * * _a) Line 442 C++ Qt5Cored.dll!QMetaObject::metacall(QObject * object, QMetaObject::Call cl, int idx, void * * argv) Line 302 C++ Qt5Qmld.dll!QQmlObjectOrGadget::metacall(QMetaObject::Call type, int index, void * * argv) Line 1727 C++ Qt5Qmld.dll!CallMethod(const QQmlObjectOrGadget & object, int index, int returnType, int argCount, int * argTypes, QV4::ExecutionEngine * engine, QV4::CallData * callArgs, QMetaObject::Call callType) Line 1084 C++ Qt5Qmld.dll!CallPrecise(const QQmlObjectOrGadget & object, const QQmlPropertyData & data, QV4::ExecutionEngine * engine, QV4::CallData * callArgs, QMetaObject::Call callType) Line 1344 C++ Qt5Qmld.dll!QV4::QObjectMethod::callInternal(QV4::CallData * callData, QV4::Scope & scope) Line 1838 C++ Qt5Qmld.dll!QV4::QObjectMethod::call(const QV4::Managed * m, QV4::Scope & scope, QV4::CallData * callData) Line 1768 C++ Qt5Qmld.dll!QV4::Object::call(QV4::Scope & scope, QV4::CallData * d) Line 372 C++ Qt5Qmld.dll!QV4::Runtime::method_callProperty(QV4::ExecutionEngine * engine, int nameIndex, QV4::CallData * callData) Line 1103 C++ [External Code] [Frames below may be incorrect and/or missing] Qt5Qmld.dll!QV4::ExecutionContext::simpleCall(QV4::Scope & scope, QV4::CallData * callData, QV4::Function * function) Line 347 C++ Qt5Qmld.dll!QV4::ScriptFunction::call(const QV4::Managed * that, QV4::Scope & scope, QV4::CallData * callData) Line 416 C++ Qt5Qmld.dll!QV4::Object::call(QV4::Scope & scope, QV4::CallData * d) Line 372 C++ Qt5Qmld.dll!QV4::Runtime::method_callActivationProperty(QV4::ExecutionEngine * engine, int nameIndex, QV4::CallData * callData) Line 1053 C++ [External Code] Qt5Qmld.dll!QV4::ExecutionContext::simpleCall(QV4::Scope & scope, QV4::CallData * callData, QV4::Function * function) Line 347 C++ Qt5Qmld.dll!QV4::ScriptFunction::call(const QV4::Managed * that, QV4::Scope & scope, QV4::CallData * callData) Line 416 C++ Qt5Qmld.dll!QV4::Object::call(QV4::Scope & scope, QV4::CallData * d) Line 372 C++ Qt5Qmld.dll!QV4::Runtime::method_callActivationProperty(QV4::ExecutionEngine * engine, int nameIndex, QV4::CallData * callData) Line 1053 C++ [External Code] Qt5Qmld.dll!QV4::ExecutionContext::simpleCall(QV4::Scope & scope, QV4::CallData * callData, QV4::Function * function) Line 347 C++ Qt5Qmld.dll!QQmlJavaScriptExpression::evaluate(QV4::CallData * callData, bool * isUndefined, QV4::Scope & scope) Line 224 C++ Qt5Qmld.dll!QQmlBoundSignalExpression::evaluate(void * * a) Line 225 C++ Qt5Qmld.dll!QQmlBoundSignal_callback(QQmlNotifierEndpoint * e, void * * a) Line 356 C++ Qt5Qmld.dll!QQmlNotifier::emitNotify(QQmlNotifierEndpoint * endpoint, void * * a) Line 106 C++ Qt5Qmld.dll!QQmlData::signalEmitted(QAbstractDeclarativeData * __formal, QObject * object, int index, void * * a) Line 839 C++ Qt5Cored.dll!QMetaObject::activate(QObject * sender, int signalOffset, int local_signal_index, void * * argv) Line 3643 C++ Qt5Cored.dll!QMetaObject::activate(QObject * sender, const QMetaObject * m, int local_signal_index, void * * argv) Line 3628 C++ Qt5Quickd.dll!QQuickMultiPointTouchArea::released(const QList<QObject *> & _t1) Line 994 C++ Qt5Quickd.dll!QQuickMultiPointTouchArea::updateTouchData(QEvent * event) Line 658 C++ Qt5Quickd.dll!QQuickMultiPointTouchArea::mouseReleaseEvent(QMouseEvent * event) Line 835 C++ Qt5Quickd.dll!QQuickItem::event(QEvent * ev) Line 7756 C++ Qt5Cored.dll!QCoreApplicationPrivate::notify_helper(QObject * receiver, QEvent * event) Line 1153 C++ Qt5Cored.dll!doNotify(QObject * receiver, QEvent * event) Line 1093 C++ Qt5Cored.dll!QCoreApplication::notify(QObject * receiver, QEvent * event) Line 1079 C++ Qt5Guid.dll!QGuiApplication::notify(QObject * object, QEvent * event) Line 1689 C++ Qt5Cored.dll!QCoreApplication::notifyInternal2(QObject * receiver, QEvent * event) Line 1018 C++ Qt5Cored.dll!QCoreApplication::sendEvent(QObject * receiver, QEvent * event) Line 233 C++ Qt5Quickd.dll!QQuickWindow::sendEvent(QQuickItem * item, QEvent * e) Line 2841 C++ Qt5Quickd.dll!QQuickWindowPrivate::deliverMouseEvent(QQuickPointerMouseEvent * pointerEvent) Line 1671 C++ Qt5Quickd.dll!QQuickWindowPrivate::deliverPointerEvent(QQuickPointerEvent * event) Line 2184 C++ Qt5Quickd.dll!QQuickWindowPrivate::handleMouseEvent(QMouseEvent * event) Line 2051 C++ Qt5Quickd.dll!QQuickWindow::mouseReleaseEvent(QMouseEvent * event) Line 2029 C++ Qt5Quickd.dll!QQuickView::mouseReleaseEvent(QMouseEvent * e) Line 615 C++ Qt5Guid.dll!QWindow::event(QEvent * ev) Line 2174 C++ Qt5Quickd.dll!QQuickWindow::event(QEvent * e) Line 1608 C++ Qt5Cored.dll!QCoreApplicationPrivate::notify_helper(QObject * receiver, QEvent * event) Line 1153 C++ Qt5Cored.dll!doNotify(QObject * receiver, QEvent * event) Line 1093 C++ Qt5Cored.dll!QCoreApplication::notify(QObject * receiver, QEvent * event) Line 1079 C++ Qt5Guid.dll!QGuiApplication::notify(QObject * object, QEvent * event) Line 1689 C++ Qt5Cored.dll!QCoreApplication::notifyInternal2(QObject * receiver, QEvent * event) Line 1018 C++ Qt5Cored.dll!QCoreApplication::sendSpontaneousEvent(QObject * receiver, QEvent * event) Line 236 C++ Qt5Guid.dll!QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent * e) Line 1949 C++ Qt5Guid.dll!QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent * e) Line 1733 C++ Qt5Guid.dll!QWindowSystemInterface::sendWindowSystemEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 939 C++ qwindowsd.dll!QWindowsGuiEventDispatcher::sendPostedEvents() Line 82 C++ Qt5Cored.dll!qt_internal_proc(HWND__ * hwnd, unsigned int message, unsigned int wp, long lp) Line 236 C++ [External Code] Qt5Cored.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 627 C++ qwindowsd.dll!QWindowsGuiEventDispatcher::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 74 C++ Qt5Cored.dll!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 135 C++ Qt5Cored.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 212 C++ Qt5Cored.dll!QCoreApplication::exec() Line 1291 C++ Qt5Guid.dll!QGuiApplication::exec() Line 1680 C++ basic.exe!main(int argc, char * * argv) Line 46 C++ [External Code]
Reproduces on Windows + Embedded Linux, but not on macOS.