diff options
5 files changed, 18 insertions, 6 deletions
diff --git a/src/plugins/platforms/wayland/qwaylanddatadevicemanager_p.h b/src/plugins/platforms/wayland/qwaylanddatadevicemanager_p.h index 55583c61b4c..3ed21d26a1f 100644 --- a/src/plugins/platforms/wayland/qwaylanddatadevicemanager_p.h +++ b/src/plugins/platforms/wayland/qwaylanddatadevicemanager_p.h @@ -63,7 +63,6 @@ public: QWaylandDisplay *display() const; private: - struct wl_data_device_manager *m_data_device_manager; QWaylandDisplay *m_display; }; diff --git a/src/plugins/platforms/wayland/qwaylandextendedoutput.cpp b/src/plugins/platforms/wayland/qwaylandextendedoutput.cpp index c34f5d317e0..bb6a4779e90 100644 --- a/src/plugins/platforms/wayland/qwaylandextendedoutput.cpp +++ b/src/plugins/platforms/wayland/qwaylandextendedoutput.cpp @@ -51,8 +51,8 @@ QT_BEGIN_NAMESPACE QWaylandExtendedOutput::QWaylandExtendedOutput(QWaylandScreen *screen, ::qt_extended_output *extended_output) : QtWayland::qt_extended_output(extended_output) - , m_screen(screen) { + Q_UNUSED(screen); } QT_END_NAMESPACE diff --git a/src/plugins/platforms/wayland/qwaylandextendedoutput_p.h b/src/plugins/platforms/wayland/qwaylandextendedoutput_p.h index 71bd3fce295..35ac194a427 100644 --- a/src/plugins/platforms/wayland/qwaylandextendedoutput_p.h +++ b/src/plugins/platforms/wayland/qwaylandextendedoutput_p.h @@ -55,10 +55,6 @@ class Q_WAYLAND_CLIENT_EXPORT QWaylandExtendedOutput : public QtWayland::qt_exte { public: QWaylandExtendedOutput(QWaylandScreen *screen, struct ::qt_extended_output *extended_output); - -private: - - QWaylandScreen *m_screen; }; QT_END_NAMESPACE diff --git a/src/plugins/platforms/wayland/qwaylandinputcontext.cpp b/src/plugins/platforms/wayland/qwaylandinputcontext.cpp index 8a711955e49..e189b945134 100644 --- a/src/plugins/platforms/wayland/qwaylandinputcontext.cpp +++ b/src/plugins/platforms/wayland/qwaylandinputcontext.cpp @@ -124,6 +124,18 @@ void QWaylandTextInput::updateState() commit_state(++m_serial); } +void QWaylandTextInput::text_input_preedit_string(uint32_t serial, const QString &text, const QString &commit) +{ + Q_UNUSED(serial) + if (!QGuiApplication::focusObject()) + return; + + m_commit = commit; + QList<QInputMethodEvent::Attribute> attributes; + QInputMethodEvent event(text, attributes); + QCoreApplication::sendEvent(QGuiApplication::focusObject(), &event); +} + void QWaylandTextInput::text_input_commit_string(uint32_t serial, const QString &text) { Q_UNUSED(serial); @@ -133,6 +145,8 @@ void QWaylandTextInput::text_input_commit_string(uint32_t serial, const QString QInputMethodEvent event; event.setCommitString(text); QCoreApplication::sendEvent(QGuiApplication::focusObject(), &event); + + m_commit = QString(); } void QWaylandTextInput::text_input_enter(wl_surface *) @@ -143,6 +157,8 @@ void QWaylandTextInput::text_input_enter(wl_surface *) void QWaylandTextInput::text_input_leave() { + if (!m_commit.isEmpty()) + text_input_commit_string(0, m_commit); } void QWaylandTextInput::text_input_keysym(uint32_t serial, uint32_t time, uint32_t sym, uint32_t state, uint32_t modifiers) diff --git a/src/plugins/platforms/wayland/qwaylandinputcontext_p.h b/src/plugins/platforms/wayland/qwaylandinputcontext_p.h index 1f7e4e3616f..fbb26b9bf9d 100644 --- a/src/plugins/platforms/wayland/qwaylandinputcontext_p.h +++ b/src/plugins/platforms/wayland/qwaylandinputcontext_p.h @@ -60,6 +60,7 @@ public: void updateState(); protected: + void text_input_preedit_string(uint32_t serial, const QString &text, const QString &commit) Q_DECL_OVERRIDE; void text_input_commit_string(uint32_t serial, const QString &text) Q_DECL_OVERRIDE; void text_input_enter(wl_surface *surface) Q_DECL_OVERRIDE; void text_input_leave() Q_DECL_OVERRIDE; |
