diff options
Diffstat (limited to 'src/core/web_event_factory.cpp')
-rw-r--r-- | src/core/web_event_factory.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/web_event_factory.cpp b/src/core/web_event_factory.cpp index 544ac83f6..d8be15e10 100644 --- a/src/core/web_event_factory.cpp +++ b/src/core/web_event_factory.cpp @@ -508,7 +508,7 @@ static WebInputEvent::Type webEventTypeForEvent(const QEvent* event) case QEvent::Wheel: return WebInputEvent::MouseWheel; case QEvent::KeyPress: - return WebInputEvent::KeyDown; + return WebInputEvent::RawKeyDown; case QEvent::KeyRelease: return WebInputEvent::KeyUp; case QEvent::HoverMove: @@ -600,6 +600,8 @@ content::NativeWebKeyboardEvent WebEventFactory::toWebKeyboardEvent(QKeyEvent *e webKitEvent.windowsKeyCode = windowsKeyCodeForKeyEvent(ev->key(), ev->modifiers() & Qt::KeypadModifier); webKitEvent.setKeyIdentifierFromWindowsKeyCode(); - memcpy(&webKitEvent.text, ev->text().utf16(), qMin(sizeof(webKitEvent.text), sizeof(ev->text().utf16()))); + const ushort* text = ev->text().utf16(); + memcpy(&webKitEvent.text, text, std::min(sizeof(webKitEvent.text), size_t(ev->text().length() * 2))); + memcpy(&webKitEvent.unmodifiedText, text, std::min(sizeof(webKitEvent.unmodifiedText), size_t(ev->text().length() * 2))); return webKitEvent; } |