diff options
author | Paul Olav Tvete <paul.tvete@theqtcompany.com> | 2015-10-13 15:47:37 +0200 |
---|---|---|
committer | Paul Olav Tvete <paul.tvete@theqtcompany.com> | 2015-10-13 16:22:39 +0200 |
commit | 907bdf61761331729fe58c6394ea97354a6a9a2f (patch) | |
tree | d731e548cffb8bb0d611623366735195e5a83c7e /src/client | |
parent | a97e3343b7910e70e4fa5af05ad787049f5128c7 (diff) | |
parent | a727ee0b2f1044ad8d5689208aed3f469b8de1ba (diff) |
Merge branch 'qt/5.6' into wip-compositor-api
Conflicts:
examples/wayland/pure-qml/main.cpp
examples/wayland/pure-qml/qml/Chrome.qml
examples/wayland/pure-qml/qml/main.qml
src/client/qwaylanddnd_p.h
src/compositor/compositor_api/qwaylandquicksurface.cpp
src/compositor/compositor_api/qwaylandsurface_p.h
src/compositor/compositor_api/qwaylandsurfaceitem.cpp
src/compositor/extensions/qwlinputmethodcontext_p.h
src/compositor/hardware_integration/qwlclientbufferintegration_p.h
src/compositor/hardware_integration/qwlclientbufferintegrationfactory_p.h
src/compositor/hardware_integration/qwlclientbufferintegrationplugin_p.h
src/compositor/hardware_integration/qwlhwintegration_p.h
src/compositor/hardware_integration/qwlserverbufferintegrationfactory_p.h
src/compositor/hardware_integration/qwlserverbufferintegrationplugin_p.h
src/compositor/wayland_wrapper/qwlcompositor_p.h
src/compositor/wayland_wrapper/qwldatadevice_p.h
src/compositor/wayland_wrapper/qwldatadevicemanager_p.h
src/compositor/wayland_wrapper/qwldatasource_p.h
src/compositor/wayland_wrapper/qwlextendedsurface_p.h
src/compositor/wayland_wrapper/qwlinputdevice_p.h
src/compositor/wayland_wrapper/qwlinputmethod_p.h
src/compositor/wayland_wrapper/qwlinputpanel_p.h
src/compositor/wayland_wrapper/qwlinputpanelsurface_p.h
src/compositor/wayland_wrapper/qwlkeyboard.cpp
src/compositor/wayland_wrapper/qwlkeyboard_p.h
src/compositor/wayland_wrapper/qwloutput_p.h
src/compositor/wayland_wrapper/qwlpointer_p.h
src/compositor/wayland_wrapper/qwlregion_p.h
src/compositor/wayland_wrapper/qwlshellsurface_p.h
src/compositor/wayland_wrapper/qwlsubsurface_p.h
src/compositor/wayland_wrapper/qwlsurface.cpp
src/compositor/wayland_wrapper/qwlsurface_p.h
src/compositor/wayland_wrapper/qwltextinput_p.h
src/compositor/wayland_wrapper/qwltextinputmanager_p.h
src/compositor/wayland_wrapper/qwltouch_p.h
src/compositor/windowmanagerprotocol/waylandwindowmanagerintegration_p.h
src/imports/compositor/WaylandCursorItem.qml
Change-Id: I4e63ef295b297022d4970b3c68b3d565843086bd
Diffstat (limited to 'src/client')
52 files changed, 550 insertions, 65 deletions
diff --git a/src/client/hardwareintegration/qwaylandclientbufferintegration_p.h b/src/client/hardwareintegration/qwaylandclientbufferintegration_p.h index 9a38b6d2f..9534934fa 100644 --- a/src/client/hardwareintegration/qwaylandclientbufferintegration_p.h +++ b/src/client/hardwareintegration/qwaylandclientbufferintegration_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDCLIENTBUFFERINTEGRATION_H #define QWAYLANDCLIENTBUFFERINTEGRATION_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtCore/qglobal.h> #include <QtWaylandClient/private/qwaylandclientexport_p.h> diff --git a/src/client/hardwareintegration/qwaylandclientbufferintegrationfactory_p.h b/src/client/hardwareintegration/qwaylandclientbufferintegrationfactory_p.h index 24063c2b9..54590a29a 100644 --- a/src/client/hardwareintegration/qwaylandclientbufferintegrationfactory_p.h +++ b/src/client/hardwareintegration/qwaylandclientbufferintegrationfactory_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDCLIENTBUFFERINTEGRATIONFACTORY_H #define QWAYLANDCLIENTBUFFERINTEGRATIONFACTORY_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtWaylandClient/private/qwaylandclientexport_p.h> #include <QtCore/QStringList> diff --git a/src/client/hardwareintegration/qwaylandclientbufferintegrationplugin_p.h b/src/client/hardwareintegration/qwaylandclientbufferintegrationplugin_p.h index f2c0bc08d..dae7aa009 100644 --- a/src/client/hardwareintegration/qwaylandclientbufferintegrationplugin_p.h +++ b/src/client/hardwareintegration/qwaylandclientbufferintegrationplugin_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDCLIENTBUFFERINTEGRATIONPLUGIN_H #define QWAYLANDCLIENTBUFFERINTEGRATIONPLUGIN_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtWaylandClient/private/qwaylandclientexport_p.h> #include <QtCore/qplugin.h> diff --git a/src/client/hardwareintegration/qwaylandhardwareintegration_p.h b/src/client/hardwareintegration/qwaylandhardwareintegration_p.h index c672b2b27..466f0b20b 100644 --- a/src/client/hardwareintegration/qwaylandhardwareintegration_p.h +++ b/src/client/hardwareintegration/qwaylandhardwareintegration_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDHARDWAREINTEGRATION_H #define QWAYLANDHARDWAREINTEGRATION_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtWaylandClient/private/qwayland-hardware-integration.h> #include <QtWaylandClient/private/qwaylandclientexport_p.h> diff --git a/src/client/hardwareintegration/qwaylandserverbufferintegration_p.h b/src/client/hardwareintegration/qwaylandserverbufferintegration_p.h index 286860c36..ad2835599 100644 --- a/src/client/hardwareintegration/qwaylandserverbufferintegration_p.h +++ b/src/client/hardwareintegration/qwaylandserverbufferintegration_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDSERVERBUFFERINTEGRATION_H #define QWAYLANDSERVERBUFFERINTEGRATION_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtCore/QSize> #include <QtGui/qopengl.h> diff --git a/src/client/hardwareintegration/qwaylandserverbufferintegrationfactory_p.h b/src/client/hardwareintegration/qwaylandserverbufferintegrationfactory_p.h index 6daa2e074..4eeb37169 100644 --- a/src/client/hardwareintegration/qwaylandserverbufferintegrationfactory_p.h +++ b/src/client/hardwareintegration/qwaylandserverbufferintegrationfactory_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDSERVERBUFFERINTEGRATIONFACTORY_H #define QWAYLANDSERVERBUFFERINTEGRATIONFACTORY_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtWaylandClient/private/qwaylandclientexport_p.h> #include <QtCore/QStringList> diff --git a/src/client/hardwareintegration/qwaylandserverbufferintegrationplugin_p.h b/src/client/hardwareintegration/qwaylandserverbufferintegrationplugin_p.h index 51d64512a..5d0d5d2fd 100644 --- a/src/client/hardwareintegration/qwaylandserverbufferintegrationplugin_p.h +++ b/src/client/hardwareintegration/qwaylandserverbufferintegrationplugin_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDSERVERBUFFERINTEGRATIONPLUGIN_H #define QWAYLANDSERVERBUFFERINTEGRATIONPLUGIN_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtWaylandClient/private/qwaylandclientexport_p.h> #include <QtCore/qplugin.h> diff --git a/src/client/inputdeviceintegration/qwaylandinputdeviceintegration_p.h b/src/client/inputdeviceintegration/qwaylandinputdeviceintegration_p.h index 3feb88684..f3c59c898 100644 --- a/src/client/inputdeviceintegration/qwaylandinputdeviceintegration_p.h +++ b/src/client/inputdeviceintegration/qwaylandinputdeviceintegration_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDINPUTDEVICEINTEGRATION_H #define QWAYLANDINPUTDEVICEINTEGRATION_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtCore/qglobal.h> #include <QtWaylandClient/private/qwaylandclientexport_p.h> diff --git a/src/client/inputdeviceintegration/qwaylandinputdeviceintegrationfactory_p.h b/src/client/inputdeviceintegration/qwaylandinputdeviceintegrationfactory_p.h index 1eddca862..69ab61cf8 100644 --- a/src/client/inputdeviceintegration/qwaylandinputdeviceintegrationfactory_p.h +++ b/src/client/inputdeviceintegration/qwaylandinputdeviceintegrationfactory_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDINPUTDEVICEINTEGRATIONFACTORY_H #define QWAYLANDINPUTDEVICEINTEGRATIONFACTORY_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtWaylandClient/private/qwaylandclientexport_p.h> #include <QtCore/QStringList> diff --git a/src/client/inputdeviceintegration/qwaylandinputdeviceintegrationplugin_p.h b/src/client/inputdeviceintegration/qwaylandinputdeviceintegrationplugin_p.h index ab646417d..0cb89ebac 100644 --- a/src/client/inputdeviceintegration/qwaylandinputdeviceintegrationplugin_p.h +++ b/src/client/inputdeviceintegration/qwaylandinputdeviceintegrationplugin_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDINPUTDEVICEINTEGRATIONPLUGIN_H #define QWAYLANDINPUTDEVICEINTEGRATIONPLUGIN_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtWaylandClient/private/qwaylandclientexport_p.h> #include <QtCore/qplugin.h> diff --git a/src/client/qwaylandabstractdecoration_p.h b/src/client/qwaylandabstractdecoration_p.h index e489c09a0..ff4ea45a8 100644 --- a/src/client/qwaylandabstractdecoration_p.h +++ b/src/client/qwaylandabstractdecoration_p.h @@ -35,6 +35,17 @@ #ifndef QWAYLANDABSTRACTDECORATION_H #define QWAYLANDABSTRACTDECORATION_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtCore/QMargins> #include <QtCore/QPointF> #include <QtGui/QGuiApplication> diff --git a/src/client/qwaylandbuffer_p.h b/src/client/qwaylandbuffer_p.h index e1a891d12..6f8f7b269 100644 --- a/src/client/qwaylandbuffer_p.h +++ b/src/client/qwaylandbuffer_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDBUFFER_H #define QWAYLANDBUFFER_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtWaylandClient/private/qwaylandclientexport_p.h> #include <QtCore/QSize> diff --git a/src/client/qwaylandclientexport_p.h b/src/client/qwaylandclientexport_p.h index 993c900be..2938025f0 100644 --- a/src/client/qwaylandclientexport_p.h +++ b/src/client/qwaylandclientexport_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDCLIENTEXPORT_H #define QWAYLANDCLIENTEXPORT_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtCore/qglobal.h> QT_BEGIN_NAMESPACE diff --git a/src/client/qwaylandclipboard_p.h b/src/client/qwaylandclipboard_p.h index 26cbbaeec..02223076e 100644 --- a/src/client/qwaylandclipboard_p.h +++ b/src/client/qwaylandclipboard_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDCLIPBOARD_H #define QWAYLANDCLIPBOARD_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <qpa/qplatformclipboard.h> #include <QtCore/QVariant> diff --git a/src/client/qwaylandcursor_p.h b/src/client/qwaylandcursor_p.h index 02023dd55..0cc1173f8 100644 --- a/src/client/qwaylandcursor_p.h +++ b/src/client/qwaylandcursor_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDCURSOR_H #define QWAYLANDCURSOR_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <qpa/qplatformcursor.h> #include <QtCore/QMap> #include <QtWaylandClient/private/qwaylandclientexport_p.h> diff --git a/src/client/qwaylanddatadevice_p.h b/src/client/qwaylanddatadevice_p.h index 5008b4552..37fe00d4e 100644 --- a/src/client/qwaylanddatadevice_p.h +++ b/src/client/qwaylanddatadevice_p.h @@ -35,6 +35,17 @@ #ifndef QWAYLANDDATADEVICE_H #define QWAYLANDDATADEVICE_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QObject> #include <QPoint> diff --git a/src/client/qwaylanddatadevicemanager_p.h b/src/client/qwaylanddatadevicemanager_p.h index 151197e3b..85b4b3f74 100644 --- a/src/client/qwaylanddatadevicemanager_p.h +++ b/src/client/qwaylanddatadevicemanager_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDDATADEVICEMANAGER_H #define QWAYLANDDATADEVICEMANAGER_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtWaylandClient/private/qwaylandclientexport_p.h> #include <QtWaylandClient/private/qwayland-wayland.h> diff --git a/src/client/qwaylanddataoffer_p.h b/src/client/qwaylanddataoffer_p.h index 391ceb173..b22681f7a 100644 --- a/src/client/qwaylanddataoffer_p.h +++ b/src/client/qwaylanddataoffer_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDDATAOFFER_H #define QWAYLANDDATAOFFER_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtGui/private/qdnd_p.h> #include <QtWaylandClient/private/qwaylandclientexport_p.h> diff --git a/src/client/qwaylanddatasource_p.h b/src/client/qwaylanddatasource_p.h index 93f1f4681..c753c4f6e 100644 --- a/src/client/qwaylanddatasource_p.h +++ b/src/client/qwaylanddatasource_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDDATASOURCE_H #define QWAYLANDDATASOURCE_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QObject> #include <QtWaylandClient/private/qwayland-wayland.h> diff --git a/src/client/qwaylanddecorationfactory_p.h b/src/client/qwaylanddecorationfactory_p.h index de830aaf0..0a0e09d64 100644 --- a/src/client/qwaylanddecorationfactory_p.h +++ b/src/client/qwaylanddecorationfactory_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDDECORATIONFACTORY_H #define QWAYLANDDECORATIONFACTORY_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtWaylandClient/private/qwaylandclientexport_p.h> #include <QtCore/QStringList> diff --git a/src/client/qwaylanddecorationplugin_p.h b/src/client/qwaylanddecorationplugin_p.h index 9f19b2948..762274e32 100644 --- a/src/client/qwaylanddecorationplugin_p.h +++ b/src/client/qwaylanddecorationplugin_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDDECORATIONPLUGIN_H #define QWAYLANDDECORATIONPLUGIN_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtWaylandClient/private/qwaylandclientexport_p.h> #include <QtCore/qplugin.h> diff --git a/src/client/qwaylanddisplay.cpp b/src/client/qwaylanddisplay.cpp index ab69bca32..dbb8e12dd 100644 --- a/src/client/qwaylanddisplay.cpp +++ b/src/client/qwaylanddisplay.cpp @@ -154,12 +154,7 @@ QWaylandDisplay::QWaylandDisplay(QWaylandIntegration *waylandIntegration) mEventThreadObject->displayConnect(); mDisplay = mEventThreadObject->display(); //blocks until display is available - //Create a new even queue for the QtGui thread - mEventQueue = wl_display_create_queue(mDisplay); - struct ::wl_registry *registry = wl_display_get_registry(mDisplay); - wl_proxy_set_queue((struct wl_proxy *)registry, mEventQueue); - init(registry); connect(mEventThreadObject, SIGNAL(newEventsRead()), this, SLOT(flushRequests())); @@ -187,7 +182,7 @@ QWaylandDisplay::~QWaylandDisplay(void) void QWaylandDisplay::flushRequests() { - if (wl_display_dispatch_queue_pending(mDisplay, mEventQueue) < 0) { + if (wl_display_dispatch_pending(mDisplay) < 0) { mEventThreadObject->checkError(); exitWithError(); } @@ -198,7 +193,7 @@ void QWaylandDisplay::flushRequests() void QWaylandDisplay::blockingReadEvents() { - if (wl_display_dispatch_queue(mDisplay, mEventQueue) < 0) { + if (wl_display_dispatch(mDisplay) < 0) { mEventThreadObject->checkError(); exitWithError(); } @@ -206,6 +201,8 @@ void QWaylandDisplay::blockingReadEvents() void QWaylandDisplay::exitWithError() { + mEventThread->quit(); + mEventThread->wait(); ::exit(1); } @@ -348,17 +345,16 @@ void QWaylandDisplay::forceRoundTrip() int ret = 0; bool done = false; wl_callback *callback = wl_display_sync(mDisplay); - wl_proxy_set_queue((struct wl_proxy *)callback, mEventQueue); wl_callback_add_listener(callback, &sync_listener, &done); flushRequests(); if (QThread::currentThread()->eventDispatcher()) { while (!done && ret >= 0) { QThread::currentThread()->eventDispatcher()->processEvents(QEventLoop::WaitForMoreEvents); - ret = wl_display_dispatch_queue_pending(mDisplay, mEventQueue); + ret = wl_display_dispatch_pending(mDisplay); } } else { while (!done && ret >= 0) - ret = wl_display_dispatch_queue(mDisplay, mEventQueue); + ret = wl_display_dispatch(mDisplay); } if (ret == -1 && !done) diff --git a/src/client/qwaylanddisplay_p.h b/src/client/qwaylanddisplay_p.h index 62074bb75..f6500b0b2 100644 --- a/src/client/qwaylanddisplay_p.h +++ b/src/client/qwaylanddisplay_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDDISPLAY_H #define QWAYLANDDISPLAY_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtCore/QObject> #include <QtCore/QRect> #include <QtCore/QPointer> @@ -108,7 +119,6 @@ public: void setCursor(struct wl_buffer *buffer, struct wl_cursor_image *image); struct wl_display *wl_display() const { return mDisplay; } - struct wl_event_queue *wl_event_queue() const { return mEventQueue; } struct ::wl_registry *wl_registry() { return object(); } const struct wl_compositor *wl_compositor() const { return mCompositor.object(); } @@ -173,7 +183,6 @@ private: }; struct wl_display *mDisplay; - struct wl_event_queue *mEventQueue; QtWayland::wl_compositor mCompositor; struct wl_shm *mShm; QThread *mEventThread; diff --git a/src/client/qwaylanddnd_p.h b/src/client/qwaylanddnd_p.h index 263cdf3b3..e978563a7 100644 --- a/src/client/qwaylanddnd_p.h +++ b/src/client/qwaylanddnd_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDDND_H #define QWAYLANDDND_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <qpa/qplatformdrag.h> #include <QtGui/private/qsimpledrag_p.h> diff --git a/src/client/qwaylandeventthread.cpp b/src/client/qwaylandeventthread.cpp index e2e21c9e7..e0a3edcb8 100644 --- a/src/client/qwaylandeventthread.cpp +++ b/src/client/qwaylandeventthread.cpp @@ -80,13 +80,9 @@ void QWaylandEventThread::checkError() const void QWaylandEventThread::readWaylandEvents() { - if (wl_display_dispatch(m_display) < 0) { - checkError(); - m_readNotifier->setEnabled(false); - emit fatalError(); - return; + if (wl_display_prepare_read(m_display) == 0) { + wl_display_read_events(m_display); } - emit newEventsRead(); } diff --git a/src/client/qwaylandeventthread_p.h b/src/client/qwaylandeventthread_p.h index cd64b7046..0920d403e 100644 --- a/src/client/qwaylandeventthread_p.h +++ b/src/client/qwaylandeventthread_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDEVENTTHREAD_H #define QWAYLANDEVENTTHREAD_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QObject> #include <QMutex> #include <wayland-client.h> diff --git a/src/client/qwaylandextendedsurface_p.h b/src/client/qwaylandextendedsurface_p.h index efd7a0b2b..2ed3a2276 100644 --- a/src/client/qwaylandextendedsurface_p.h +++ b/src/client/qwaylandextendedsurface_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDEXTENDEDSURFACE_H #define QWAYLANDEXTENDEDSURFACE_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtCore/QString> #include <QtCore/QVariant> diff --git a/src/client/qwaylandinputcontext_p.h b/src/client/qwaylandinputcontext_p.h index 8dd13b19f..b106c100f 100644 --- a/src/client/qwaylandinputcontext_p.h +++ b/src/client/qwaylandinputcontext_p.h @@ -35,6 +35,17 @@ #ifndef QWAYLANDINPUTCONTEXT_H #define QWAYLANDINPUTCONTEXT_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <qpa/qplatforminputcontext.h> #include <QtWaylandClient/private/qwayland-text.h> diff --git a/src/client/qwaylandinputdevice_p.h b/src/client/qwaylandinputdevice_p.h index 6f3b25c06..8bfb45cd4 100644 --- a/src/client/qwaylandinputdevice_p.h +++ b/src/client/qwaylandinputdevice_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDINPUTDEVICE_H #define QWAYLANDINPUTDEVICE_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtWaylandClient/private/qwaylandwindow_p.h> #include <QSocketNotifier> diff --git a/src/client/qwaylandintegration.cpp b/src/client/qwaylandintegration.cpp index 9526aec4c..82df8a30a 100644 --- a/src/client/qwaylandintegration.cpp +++ b/src/client/qwaylandintegration.cpp @@ -128,7 +128,9 @@ QWaylandIntegration::QWaylandIntegration() mClipboard = new QWaylandClipboard(mDisplay); mDrag = new QWaylandDrag(mDisplay); - mInputContext.reset(new QWaylandInputContext(mDisplay)); + QString icStr = QPlatformInputContextFactory::requested(); + icStr.isNull() ? mInputContext.reset(new QWaylandInputContext(mDisplay)) + : mInputContext.reset(QPlatformInputContextFactory::create(icStr)); } QWaylandIntegration::~QWaylandIntegration() diff --git a/src/client/qwaylandintegration_p.h b/src/client/qwaylandintegration_p.h index ef180cdaf..42bc287b5 100644 --- a/src/client/qwaylandintegration_p.h +++ b/src/client/qwaylandintegration_p.h @@ -34,6 +34,17 @@ #ifndef QPLATFORMINTEGRATION_WAYLAND_H #define QPLATFORMINTEGRATION_WAYLAND_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <qpa/qplatformintegration.h> #include <QtWaylandClient/private/qwaylandclientexport_p.h> diff --git a/src/client/qwaylandnativeinterface.cpp b/src/client/qwaylandnativeinterface.cpp index 8170c39f1..0d20075f0 100644 --- a/src/client/qwaylandnativeinterface.cpp +++ b/src/client/qwaylandnativeinterface.cpp @@ -58,8 +58,6 @@ void *QWaylandNativeInterface::nativeResourceForIntegration(const QByteArray &re if (lowerCaseResource == "display" || lowerCaseResource == "wl_display" || lowerCaseResource == "nativedisplay") return m_integration->display()->wl_display(); - if (lowerCaseResource == "wl_event_queue") - return m_integration->display()->wl_event_queue(); if (lowerCaseResource == "compositor") return const_cast<wl_compositor *>(m_integration->display()->wl_compositor()); if (lowerCaseResource == "server_buffer_integration") diff --git a/src/client/qwaylandnativeinterface_p.h b/src/client/qwaylandnativeinterface_p.h index 04a46075d..7050f9758 100644 --- a/src/client/qwaylandnativeinterface_p.h +++ b/src/client/qwaylandnativeinterface_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDNATIVEINTERFACE_H #define QWAYLANDNATIVEINTERFACE_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QVariantMap> #include <qpa/qplatformnativeinterface.h> diff --git a/src/client/qwaylandqtkey_p.h b/src/client/qwaylandqtkey_p.h index 322549d5b..2e9c7a255 100644 --- a/src/client/qwaylandqtkey_p.h +++ b/src/client/qwaylandqtkey_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDQTKEY_H #define QWAYLANDQTKEY_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <qpa/qwindowsysteminterface.h> #include <QtWaylandClient/private/qwaylandclientexport_p.h> diff --git a/src/client/qwaylandscreen_p.h b/src/client/qwaylandscreen_p.h index 3d38e30a8..e3e1515d4 100644 --- a/src/client/qwaylandscreen_p.h +++ b/src/client/qwaylandscreen_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDSCREEN_H #define QWAYLANDSCREEN_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <qpa/qplatformscreen.h> #include <QtWaylandClient/private/qwaylandclientexport_p.h> diff --git a/src/client/qwaylandshellsurface_p.h b/src/client/qwaylandshellsurface_p.h index 2fb7ff9af..726d103f9 100644 --- a/src/client/qwaylandshellsurface_p.h +++ b/src/client/qwaylandshellsurface_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDSHELLSURFACE_H #define QWAYLANDSHELLSURFACE_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtCore/QSize> #include <QObject> diff --git a/src/client/qwaylandshmbackingstore_p.h b/src/client/qwaylandshmbackingstore_p.h index 17e84f3cd..a1a6e19c3 100644 --- a/src/client/qwaylandshmbackingstore_p.h +++ b/src/client/qwaylandshmbackingstore_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDSHMBACKINGSTORE_H #define QWAYLANDSHMBACKINGSTORE_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtWaylandClient/private/qwaylandbuffer_p.h> #include <qpa/qplatformbackingstore.h> diff --git a/src/client/qwaylandshmwindow_p.h b/src/client/qwaylandshmwindow_p.h index b046c5d84..a0a5edffd 100644 --- a/src/client/qwaylandshmwindow_p.h +++ b/src/client/qwaylandshmwindow_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDSHMWINDOW_H #define QWAYLANDSHMWINDOW_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtWaylandClient/private/qwaylandwindow_p.h> #include <QtGui/QRegion> diff --git a/src/client/qwaylandsubsurface_p.h b/src/client/qwaylandsubsurface_p.h index 75d8cf6a0..4cbb99251 100644 --- a/src/client/qwaylandsubsurface_p.h +++ b/src/client/qwaylandsubsurface_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDSUBSURFACE_H #define QWAYLANDSUBSURFACE_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <wayland-client.h> #include <QtCore/qglobal.h> diff --git a/src/client/qwaylandtouch_p.h b/src/client/qwaylandtouch_p.h index 2dda6243a..394ae6d36 100644 --- a/src/client/qwaylandtouch_p.h +++ b/src/client/qwaylandtouch_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDTOUCH_H #define QWAYLANDTOUCH_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <qpa/qwindowsysteminterface.h> #include <QtWaylandClient/private/qwayland-touch-extension.h> diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp index 762ef501a..5c06f66db 100644 --- a/src/client/qwaylandwindow.cpp +++ b/src/client/qwaylandwindow.cpp @@ -156,7 +156,8 @@ void QWaylandWindow::initWindow() mShellSurface->updateTransientParent(window()->transientParent()); } } else { - mShellSurface->setTopLevel(); + if (window()->type() != Qt::ToolTip) + mShellSurface->setTopLevel(); } } @@ -269,17 +270,18 @@ void QWaylandWindow::setGeometry(const QRect &rect) void QWaylandWindow::setVisible(bool visible) { if (visible) { - if (window()->type() == Qt::Popup) { - QWaylandWindow *parent = transientParent(); - if (!parent) { - // Try with the current focus window. It should be the right one and anyway - // better than having no parent at all. - parent = mDisplay->lastInputWindow(); - } - if (parent) { - QWaylandWlShellSurface *wlshellSurface = qobject_cast<QWaylandWlShellSurface*>(mShellSurface); - if (wlshellSurface) - wlshellSurface->setPopup(parent, mDisplay->lastInputDevice(), mDisplay->lastInputSerial()); + if (mShellSurface) { + if (window()->type() == Qt::Popup) { + QWaylandWindow *parent = transientParent(); + if (parent) { + QWaylandWlShellSurface *wlshellSurface = qobject_cast<QWaylandWlShellSurface*>(mShellSurface); + if (wlshellSurface) + wlshellSurface->setPopup(parent, mDisplay->lastInputDevice(), mDisplay->lastInputSerial()); + } + } else if (window()->type() == Qt::ToolTip) { + if (QWaylandWindow *parent = transientParent()) { + mShellSurface->updateTransientParent(parent->window()); + } } } @@ -646,7 +648,9 @@ QWaylandWindow *QWaylandWindow::transientParent() const // events. return static_cast<QWaylandWindow *>(topLevelWindow(window()->transientParent())->handle()); } - return 0; + // Try with the current focus window. It should be the right one and anyway + // better than having no parent at all. + return mDisplay->lastInputWindow(); } void QWaylandWindow::handleMouse(QWaylandInputDevice *inputDevice, const QWaylandPointerEvent &e) diff --git a/src/client/qwaylandwindow_p.h b/src/client/qwaylandwindow_p.h index 6b9af1031..be8f53088 100644 --- a/src/client/qwaylandwindow_p.h +++ b/src/client/qwaylandwindow_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDWINDOW_H #define QWAYLANDWINDOW_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtCore/QWaitCondition> #include <QtCore/QMutex> #include <QtGui/QIcon> diff --git a/src/client/qwaylandwindowmanagerintegration.cpp b/src/client/qwaylandwindowmanagerintegration.cpp index 56fe7c5a3..5e8a628bf 100644 --- a/src/client/qwaylandwindowmanagerintegration.cpp +++ b/src/client/qwaylandwindowmanagerintegration.cpp @@ -127,28 +127,33 @@ QByteArray QWaylandWindowManagerIntegration::desktopEnvironment() const void QWaylandWindowManagerIntegration::openUrl_helper(const QUrl &url) { - if (isInitialized()) { - QByteArray data = url.toString().toUtf8(); - - static const int chunkSize = 128; - while (!data.isEmpty()) { - QByteArray chunk = data.left(chunkSize); - data = data.mid(chunkSize); - open_url(!data.isEmpty(), QString::fromUtf8(chunk)); - } + Q_ASSERT(isInitialized()); + QByteArray data = url.toString().toUtf8(); + + static const int chunkSize = 128; + while (!data.isEmpty()) { + QByteArray chunk = data.left(chunkSize); + data = data.mid(chunkSize); + open_url(!data.isEmpty(), QString::fromUtf8(chunk)); } } bool QWaylandWindowManagerIntegration::openUrl(const QUrl &url) { - openUrl_helper(url); - return true; + if (isInitialized()) { + openUrl_helper(url); + return true; + } + return QGenericUnixServices::openUrl(url); } bool QWaylandWindowManagerIntegration::openDocument(const QUrl &url) { - openUrl_helper(url); - return true; + if (isInitialized()) { + openUrl_helper(url); + return true; + } + return QGenericUnixServices::openDocument(url); } } diff --git a/src/client/qwaylandwindowmanagerintegration_p.h b/src/client/qwaylandwindowmanagerintegration_p.h index 612cda43e..73c1b29e8 100644 --- a/src/client/qwaylandwindowmanagerintegration_p.h +++ b/src/client/qwaylandwindowmanagerintegration_p.h @@ -34,11 +34,22 @@ #ifndef QWAYLANDWINDOWMANAGERINTEGRATION_H #define QWAYLANDWINDOWMANAGERINTEGRATION_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtCore/QObject> #include <QtCore/QScopedPointer> #include <wayland-client.h> -#include <qpa/qplatformservices.h> +#include <QtPlatformSupport/private/qgenericunixservices_p.h> #include <QtWaylandClient/private/qwayland-windowmanager.h> #include <QtWaylandClient/private/qwaylandclientexport_p.h> @@ -52,7 +63,7 @@ class QWaylandDisplay; class QWaylandWindowManagerIntegrationPrivate; -class Q_WAYLAND_CLIENT_EXPORT QWaylandWindowManagerIntegration : public QObject, public QPlatformServices, public QtWayland::qt_windowmanager +class Q_WAYLAND_CLIENT_EXPORT QWaylandWindowManagerIntegration : public QObject, public QGenericUnixServices, public QtWayland::qt_windowmanager { Q_OBJECT Q_DECLARE_PRIVATE(QWaylandWindowManagerIntegration) diff --git a/src/client/qwaylandwlshellsurface.cpp b/src/client/qwaylandwlshellsurface.cpp index 8888dbf4d..7235931d3 100644 --- a/src/client/qwaylandwlshellsurface.cpp +++ b/src/client/qwaylandwlshellsurface.cpp @@ -47,8 +47,8 @@ QT_BEGIN_NAMESPACE namespace QtWaylandClient { QWaylandWlShellSurface::QWaylandWlShellSurface(struct ::wl_shell_surface *shell_surface, QWaylandWindow *window) - : QtWayland::wl_shell_surface(shell_surface) - , QWaylandShellSurface(window) + : QWaylandShellSurface(window) + , QtWayland::wl_shell_surface(shell_surface) , m_window(window) , m_maximized(false) , m_fullscreen(false) @@ -159,8 +159,7 @@ void QWaylandWlShellSurface::updateTransientParent(QWindow *parent) // set_transient expects a position relative to the parent QPoint transientPos = m_window->geometry().topLeft(); // this is absolute - QWindow *parentWin = m_window->window()->transientParent(); - transientPos -= parentWin->geometry().topLeft(); + transientPos -= parent->geometry().topLeft(); if (parent_wayland_window->decoration()) { transientPos.setX(transientPos.x() + parent_wayland_window->decoration()->margins().left()); transientPos.setY(transientPos.y() + parent_wayland_window->decoration()->margins().top()); diff --git a/src/client/qwaylandwlshellsurface_p.h b/src/client/qwaylandwlshellsurface_p.h index 47d4467ce..78216a4c3 100644 --- a/src/client/qwaylandwlshellsurface_p.h +++ b/src/client/qwaylandwlshellsurface_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDWLSHELLSURFACE_H #define QWAYLANDWLSHELLSURFACE_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtCore/QSize> #include <wayland-client.h> diff --git a/src/client/qwaylandxdgshell_p.h b/src/client/qwaylandxdgshell_p.h index 954dc5707..3fd248fc4 100644 --- a/src/client/qwaylandxdgshell_p.h +++ b/src/client/qwaylandxdgshell_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDXDGSHELL_H #define QWAYLANDXDGSHELL_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtCore/QSize> #include <wayland-client.h> diff --git a/src/client/qwaylandxdgsurface.cpp b/src/client/qwaylandxdgsurface.cpp index f06d7e353..c89e230db 100644 --- a/src/client/qwaylandxdgsurface.cpp +++ b/src/client/qwaylandxdgsurface.cpp @@ -46,8 +46,8 @@ QT_BEGIN_NAMESPACE namespace QtWaylandClient { QWaylandXdgSurface::QWaylandXdgSurface(struct ::xdg_surface *xdg_surface, QWaylandWindow *window) - : QtWayland::xdg_surface(xdg_surface) - , QWaylandShellSurface(window) + : QWaylandShellSurface(window) + , QtWayland::xdg_surface(xdg_surface) , m_window(window) , m_maximized(false) , m_minimized(false) @@ -56,6 +56,7 @@ QWaylandXdgSurface::QWaylandXdgSurface(struct ::xdg_surface *xdg_surface, QWayla { if (window->display()->windowExtension()) m_extendedWindow = new QWaylandExtendedSurface(window); + m_size = m_window->window()->geometry().size(); } QWaylandXdgSurface::~QWaylandXdgSurface() @@ -126,8 +127,8 @@ void QWaylandXdgSurface::updateTransientParent(QWindow *parent) QWaylandWindow *parent_wayland_window = static_cast<QWaylandWindow *>(parent->handle()); if (!parent_wayland_window) return; - - set_parent(parent_wayland_window->object()); + QtWayland::xdg_shell *shell = parent_wayland_window->display()->shellXdg(); + set_parent(shell->get_xdg_surface(parent_wayland_window->object())); } void QWaylandXdgSurface::setTitle(const QString & title) @@ -178,11 +179,11 @@ void QWaylandXdgSurface::xdg_surface_configure(int32_t width, int32_t height, st state = (uint32_t*) states->data; - for (uint32_t i=0; i < states->size; i++) + for (uint32_t i = 0; i < states->size / sizeof(state) ; i++) { switch (*(state+i)) { case XDG_SURFACE_STATE_MAXIMIZED: - aboutToMaximize = true; + aboutToMaximize = ((width > 0) && (height > 0)); break; case XDG_SURFACE_STATE_FULLSCREEN: aboutToFullScreen = true; @@ -191,7 +192,7 @@ void QWaylandXdgSurface::xdg_surface_configure(int32_t width, int32_t height, st m_margins = m_window->frameMargins(); width -= m_margins.left() + m_margins.right(); height -= m_margins.top() + m_margins.bottom(); - m_size = QSize(width,height); + m_size = m_window->window()->geometry().size(); break; case XDG_SURFACE_STATE_ACTIVATED: // TODO: here about the missing window activation @@ -203,21 +204,23 @@ void QWaylandXdgSurface::xdg_surface_configure(int32_t width, int32_t height, st if (!m_fullscreen && aboutToFullScreen) { m_fullscreen = true; - m_size = m_window->window()->geometry().size(); m_window->window()->showFullScreen(); } else if (m_fullscreen && !aboutToFullScreen) { m_fullscreen = false; - m_window->window()->showNormal(); + if ( m_maximized ) { + m_window->window()->showMaximized(); + } else { + m_window->window()->showNormal(); + } } else if (!m_maximized && aboutToMaximize) { m_maximized = true; - m_size = m_window->window()->geometry().size(); m_window->window()->showMaximized(); } else if (m_maximized && !aboutToMaximize) { m_maximized = false; m_window->window()->showNormal(); } - if (width == 0 && height == 0) { + if (width == 0 || height == 0) { width = m_size.width(); height = m_size.height(); } @@ -227,7 +230,7 @@ void QWaylandXdgSurface::xdg_surface_configure(int32_t width, int32_t height, st m_window->configure(0, width + m_margins.left() + m_margins.right(), height + m_margins.top() + m_margins.bottom()); } - xdg_surface_ack_configure(object(), serial); + ack_configure(serial); } void QWaylandXdgSurface::xdg_surface_close() diff --git a/src/client/qwaylandxdgsurface_p.h b/src/client/qwaylandxdgsurface_p.h index 1a53a772d..8deafef77 100644 --- a/src/client/qwaylandxdgsurface_p.h +++ b/src/client/qwaylandxdgsurface_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDXDGSURFACE_H #define QWAYLANDXDGSURFACE_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtCore/QSize> #include <QtCore/QMargins> diff --git a/src/client/shellintegration/qwaylandshellintegration_p.h b/src/client/shellintegration/qwaylandshellintegration_p.h index a4b40b088..f8e741520 100644 --- a/src/client/shellintegration/qwaylandshellintegration_p.h +++ b/src/client/shellintegration/qwaylandshellintegration_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDSHELLINTEGRATION_H #define QWAYLANDSHELLINTEGRATION_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtCore/qglobal.h> #include <QtWaylandClient/private/qwaylandclientexport_p.h> diff --git a/src/client/shellintegration/qwaylandshellintegrationfactory_p.h b/src/client/shellintegration/qwaylandshellintegrationfactory_p.h index 873e57aec..7ec49521c 100644 --- a/src/client/shellintegration/qwaylandshellintegrationfactory_p.h +++ b/src/client/shellintegration/qwaylandshellintegrationfactory_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDSHELLINTEGRATIONFACTORY_H #define QWAYLANDSHELLINTEGRATIONFACTORY_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtWaylandClient/private/qwaylandclientexport_p.h> #include <QtCore/QStringList> diff --git a/src/client/shellintegration/qwaylandshellintegrationplugin_p.h b/src/client/shellintegration/qwaylandshellintegrationplugin_p.h index 9bae57cc9..9193fb071 100644 --- a/src/client/shellintegration/qwaylandshellintegrationplugin_p.h +++ b/src/client/shellintegration/qwaylandshellintegrationplugin_p.h @@ -34,6 +34,17 @@ #ifndef QWAYLANDSHELLINTEGRATIONPLUGIN_H #define QWAYLANDSHELLINTEGRATIONPLUGIN_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtWaylandClient/private/qwaylandclientexport_p.h> #include <QtCore/qplugin.h> |