diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core/native_web_keyboard_event_qt.cpp | 6 | ||||
-rw-r--r-- | src/core/render_widget_host_view_qt_delegate_client.cpp | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/core/native_web_keyboard_event_qt.cpp b/src/core/native_web_keyboard_event_qt.cpp index b2e857aaf..edd27ccec 100644 --- a/src/core/native_web_keyboard_event_qt.cpp +++ b/src/core/native_web_keyboard_event_qt.cpp @@ -52,7 +52,11 @@ namespace { // event is destroyed. gfx::NativeEvent CopyEvent(gfx::NativeEvent event) { - return event ? reinterpret_cast<gfx::NativeEvent>(new QKeyEvent(*reinterpret_cast<QKeyEvent*>(event))) : 0; + if (!event) + return nullptr; + + QKeyEvent *keyEvent = reinterpret_cast<QKeyEvent *>(event); + return reinterpret_cast<gfx::NativeEvent>(keyEvent->clone()); } void DestroyEvent(gfx::NativeEvent event) diff --git a/src/core/render_widget_host_view_qt_delegate_client.cpp b/src/core/render_widget_host_view_qt_delegate_client.cpp index 5e15c2353..1a41e6850 100644 --- a/src/core/render_widget_host_view_qt_delegate_client.cpp +++ b/src/core/render_widget_host_view_qt_delegate_client.cpp @@ -845,8 +845,7 @@ void RenderWidgetHostViewQtDelegateClient::handleInputMethodEvent(QInputMethodEv if (commitString.isEmpty() && preeditString.isEmpty() && replacementLength == 0) { if (!m_receivedEmptyImeEvent && m_imeInProgress && !hasSelection) { m_receivedEmptyImeEvent = true; - QInputMethodEvent *eventCopy = new QInputMethodEvent(*event); - QGuiApplication::postEvent(qApp->focusObject(), eventCopy); + QGuiApplication::postEvent(qApp->focusObject(), event->clone()); } else { m_receivedEmptyImeEvent = false; if (m_imeInProgress) { |