Details
Description
Steps to reproduce
- Start qtwebbrowser ( http://code.qt.io/cgit/qt-apps/qtwebbrowser.git/ ) with virtual keyboard
- Navigate to the attached test.html
- Select input field
- Type something with the virtual keyboard
- Select other input field
Actual behavior
Browser crashes:
ASSERT: "uint(i) < uint(size())" in file /home/stampho/work/Qt/qt5-dev-dev/qtbase/include/QtCore/../../../../qt5-dev-src/qtbase/src/corelib/tools/qstring.h, line 920
Received signal 6
#0 0x7f645b65ec8c base::debug::StackTrace::StackTrace()
#1 0x7f645b65cdfb base::debug::StackTrace::StackTrace()
#2 0x7f645b65db13 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#3 0x7f6455c63aa0 <unknown>
#4 0x7f64553bcf30 gsignal
#5 0x7f64553bebda abort
#6 0x7f6455f7fa76 qt_message_fatal()
#7 0x7f6455f80797 QMessageLogger::fatal()
#8 0x7f6455f7995a qt_assert()
#9 0x7f644aa16e21 QtVirtualKeyboard::HunspellInputMethod::reselect()
#10 0x7f644a9ef5ca QtVirtualKeyboard::InputEngine::reselect()
#11 0x7f644a9eb70b QtVirtualKeyboard::InputContext::update()
#12 0x7f644a9e785c QtVirtualKeyboard::PlatformInputContext::update()
#13 0x7f6456c909c6 QInputMethod::update()
#14 0x7f646a1e7744 QtWebEngineCore::RenderWidgetHostViewQtDelegateQuick::inputMethodStateChanged()
#15 0x7f64585df7a3 QtWebEngineCore::RenderWidgetHostViewQt::OnUpdateTextInputStateCalled()
#16 0x7f6459932ef6 content::TextInputManager::NotifyObserversAboutInputStateUpdate()
#17 0x7f6459931858 content::TextInputManager::UpdateTextInputState()
#18 0x7f645992636e content::RenderWidgetHostViewBase::TextInputStateChanged()
#19 0x7f64598f0de5 content::RenderWidgetHostImpl::OnTextInputStateChanged()
#20 0x7f645990a78f _ZN4base20DispatchToMethodImplIPN7content20RenderWidgetHostImplEMS2_FvRKNS1_14TextInputStateEERKSt5tupleIJS4_EEJLm0EEEEvRKT_T0_OT1_NS_13IndexSequenceIJXspT2_EEEE
#21 0x7f6459904955 _ZN4base16DispatchToMethodIPN7content20RenderWidgetHostImplEMS2_FvRKNS1_14TextInputStateEERKSt5tupleIJS4_EEEEvRKT_T0_OT1_
#22 0x7f64598fef0c _ZN3IPC16DispatchToMethodIN7content20RenderWidgetHostImplEMS2_FvRKNS1_14TextInputStateEEvSt5tupleIJS3_EEEEvPT_T0_PT1_RKT2_
#23 0x7f64598f80ff _ZN3IPC8MessageTI38ViewHostMsg_TextInputStateChanged_MetaSt5tupleIJN7content14TextInputStateEEEvE8DispatchINS3_20RenderWidgetHostImplES8_vMS8_FvRKS4_EEEbPKNS_7MessageEPT_PT0_PT1_T2_
#24 0x7f64598e9c35 content::RenderWidgetHostImpl::OnMessageReceived()
#25 0x7f6459876d32 content::RenderProcessHostImpl::OnMessageReceived()
#26 0x7f645cf8730d IPC::ChannelProxy::Context::OnDispatchMessage()
#27 0x7f645cf8eecb _ZN4base8internal13FunctorTraitsIMN3IPC12ChannelProxy7ContextEFvRKNS2_7MessageEEvE6InvokeIRK13scoped_refptrIS4_EJS7_EEEvS9_OT_DpOT0_
#28 0x7f645cf8e212 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN3IPC12ChannelProxy7ContextEFvRKNS4_7MessageEEJRK13scoped_refptrIS6_ES9_EEEvOT_DpOT0_
#29 0x7f645cf8c195 _ZN4base8internal7InvokerINS0_9BindStateIMN3IPC12ChannelProxy7ContextEFvRKNS3_7MessageEEJ13scoped_refptrIS5_ES6_EEEFvvEE7RunImplIRKSA_RKSt5tupleIJSC_S6_EEJLm0ELm1EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE
#30 0x7f645cf8afa0 _ZN4base8internal7InvokerINS0_9BindStateIMN3IPC12ChannelProxy7ContextEFvRKNS3_7MessageEEJ13scoped_refptrIS5_ES6_EEEFvvEE3RunEPNS0_13BindStateBaseE
#31 0x7f645895c4b5 _ZNO4base8internal8RunMixinINS_8CallbackIFvvELNS0_8CopyModeE0ELNS0_10RepeatModeE0EEEE3RunEv
#32 0x7f645b8a2e53 base::debug::TaskAnnotator::RunTask()
#33 0x7f645b6caa33 base::MessageLoop::RunTask()
#34 0x7f645b6caba2 base::MessageLoop::DeferOrRunPendingTask()
#35 0x7f645b6cb078 base::MessageLoop::DoWork()
#36 0x7f64585975a8 QtWebEngineCore::(anonymous namespace)::MessagePumpForUIQt::customEvent()
#37 0x7f64561aa082 QObject::event()
#38 0x7f6456176f4c QCoreApplicationPrivate::notify_helper()
#39 0x7f6456176ff3 doNotify()
#40 0x7f645617714b QCoreApplication::notify()
#41 0x7f6456c6c6ab QGuiApplication::notify()
#42 0x00000040f957 TouchMockingApplication::notify()
#43 0x7f64561770a7 QCoreApplication::notifyInternal2()
#44 0x7f645617c5e6 QCoreApplicationPrivate::sendPostedEvents()
#45 0x7f645617cd68 QCoreApplication::sendPostedEvents()
#46 0x7f64561d6ae4 postEventSourceDispatch()
#47 0x7f6454e5c797 g_main_context_dispatch
#48 0x7f6454e5ca00 <unknown>
#49 0x7f6454e5caac g_main_context_iteration
#50 0x7f64561d63c0 QEventDispatcherGlib::processEvents()
#51 0x7f644d91ac4b QPAEventDispatcherGlib::processEvents()
#52 0x7f6456174cd7 QEventLoop::processEvents()
#53 0x7f6456175154 QEventLoop::exec()
#54 0x7f645617f35b QCoreApplication::exec()
#55 0x7f6456c67282 QGuiApplication::exec()
#56 0x00000040ac56 main
#57 0x7f64553a8521 __libc_start_main
#58 0x000000407e5a _start
r8: 0000000000000000 r9: 00007ffe7f7f76b0 r10: 0000000000000008 r11: 0000000000000246
r12: 0000000000000001 r13: 0000000000000000 r14: 0000000000b62560 r15: 0000000000000000
di: 0000000000000002 si: 00007ffe7f7f76b0 bp: 00007ffe7f7f7918 bx: 0000000000000006
dx: 0000000000000000 ax: 0000000000000000 cx: 00007f64553bcf30 sp: 00007ffe7f7f76b0
ip: 00007f64553bcf30 efl: 0000000000000246 cgf: 002b000000000033 erf: 0000000000000000
trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
Calling _exit(1). Core file will not be generated.
Expected behavior
Text remains in the selected input field, composition text committed. Focus is on the other input field.