summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>2015-01-19 14:07:39 +0100
committerFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>2015-01-19 14:07:39 +0100
commit1db1fa1619e718eebdc88899df6c0a8c6d2309b9 (patch)
tree5fcb4ea759967e906df54c07986111bad2137ea8 /src
parent101698bd0ffa3e51186eb14cfdb317526cc9512b (diff)
parentaaa97d529bbafe9d5637729126701794cbbf0fc1 (diff)
Merge remote-tracking branch 'origin/5.4' into dev
Conflicts: .qmake.conf Change-Id: I65c8503cf632699129ebb6b4f01721b74be78def
Diffstat (limited to 'src')
-rw-r--r--src/client/qwaylanddatadevicemanager_p.h1
-rw-r--r--src/client/qwaylandextendedoutput.cpp2
-rw-r--r--src/client/qwaylandextendedoutput_p.h4
-rw-r--r--src/client/qwaylandinputcontext.cpp16
-rw-r--r--src/client/qwaylandinputcontext_p.h1
-rw-r--r--src/compositor/compositor_api/qwaylandquicksurface.cpp1
6 files changed, 19 insertions, 6 deletions
diff --git a/src/client/qwaylanddatadevicemanager_p.h b/src/client/qwaylanddatadevicemanager_p.h
index 55583c61b..3ed21d26a 100644
--- a/src/client/qwaylanddatadevicemanager_p.h
+++ b/src/client/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/client/qwaylandextendedoutput.cpp b/src/client/qwaylandextendedoutput.cpp
index c34f5d317..bb6a4779e 100644
--- a/src/client/qwaylandextendedoutput.cpp
+++ b/src/client/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/client/qwaylandextendedoutput_p.h b/src/client/qwaylandextendedoutput_p.h
index 71bd3fce2..35ac194a4 100644
--- a/src/client/qwaylandextendedoutput_p.h
+++ b/src/client/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/client/qwaylandinputcontext.cpp b/src/client/qwaylandinputcontext.cpp
index 8a711955e..e189b9451 100644
--- a/src/client/qwaylandinputcontext.cpp
+++ b/src/client/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/client/qwaylandinputcontext_p.h b/src/client/qwaylandinputcontext_p.h
index 1f7e4e361..fbb26b9bf 100644
--- a/src/client/qwaylandinputcontext_p.h
+++ b/src/client/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;
diff --git a/src/compositor/compositor_api/qwaylandquicksurface.cpp b/src/compositor/compositor_api/qwaylandquicksurface.cpp
index 166514f73..40cd8b749 100644
--- a/src/compositor/compositor_api/qwaylandquicksurface.cpp
+++ b/src/compositor/compositor_api/qwaylandquicksurface.cpp
@@ -111,6 +111,7 @@ public:
{
delete texture;
texture = 0;
+ update = true;
}
QWaylandQuickSurface *surface;