diff --git a/src/3rdparty/wayland/protocols/qt_attribution.json b/src/3rdparty/wayland/protocols/qt_attribution.json index 327c408b961..76fd33d37f9 100644 --- a/src/3rdparty/wayland/protocols/qt_attribution.json +++ b/src/3rdparty/wayland/protocols/qt_attribution.json @@ -4,6 +4,7 @@ "Name": "Wayland Protocol", "QDocModule": "qtwaylandcompositor", "QtUsage": "Used in the Qt Wayland Compositor, and the Qt Wayland platform plugin.", + "Files": "wayland.xml", "Description": "Wayland is a protocol for a compositor to talk to its clients.", "Homepage": "https://wayland.freedesktop.org", @@ -22,6 +23,7 @@ "Name": "Wayland IVI Extension Protocol", "QDocModule": "qtwaylandcompositor", "QtUsage": "Used in the Qt Wayland Compositor, and the Qt Wayland platform plugin.", + "Files": "ivi-controller.xml ivi-application.xml", "Description": "\"Wayland IVI Extension\" is forked from IVI Layer Management to define a common set of APIs by wayland style protocol and provide reference implementation which can be loaded on Weston.", "Homepage": "http://projects.genivi.org/wayland-ivi-extension", @@ -39,6 +41,7 @@ Copyright (c) 2013 BMW Car IT GmbH" "Name": "Wayland XDG Shell Protocol", "QDocModule": "qtwaylandcompositor", "QtUsage": "Used in the Qt Wayland Compositor, and the Qt Wayland platform plugin.", + "Files": "xdg-shell.xml", "Description": "The XDG-Shell protocol is an extended way to manage surfaces under Wayland compositors.", "Homepage": "https://wayland.freedesktop.org", @@ -58,6 +61,7 @@ Copyright © 2010-2013 Intel Corporation" "Name": "Wayland Text Input Protocol", "QDocModule": "qtwaylandcompositor", "QtUsage": "Used in the Qt Wayland Compositor, and the Qt Wayland platform plugin.", + "Files": "text-input-unstable-v2.xml", "Description": "Adds support for text input and input methods to applications.", "Homepage": "https://wayland.freedesktop.org", diff --git a/src/plugins/platforms/wayland/global/qwaylandclientextension.h b/src/plugins/platforms/wayland/global/qwaylandclientextension.h index 37345202cc8..abf753249da 100644 --- a/src/plugins/platforms/wayland/global/qwaylandclientextension.h +++ b/src/plugins/platforms/wayland/global/qwaylandclientextension.h @@ -40,6 +40,7 @@ #include #include +struct wl_interface; struct wl_registry; QT_BEGIN_NAMESPACE diff --git a/src/plugins/platforms/wayland/qwaylandintegration.cpp b/src/plugins/platforms/wayland/qwaylandintegration.cpp index f9ee611567d..8bd9f4901da 100644 --- a/src/plugins/platforms/wayland/qwaylandintegration.cpp +++ b/src/plugins/platforms/wayland/qwaylandintegration.cpp @@ -217,6 +217,11 @@ void QWaylandIntegration::initialize() int fd = wl_display_get_fd(mDisplay->wl_display()); QSocketNotifier *sn = new QSocketNotifier(fd, QSocketNotifier::Read, mDisplay.data()); QObject::connect(sn, SIGNAL(activated(int)), mDisplay.data(), SLOT(flushRequests())); + + if (mDisplay->screens().isEmpty()) { + qWarning() << "Running on a compositor with no screens is not supported"; + ::exit(EXIT_FAILURE); + } } QPlatformFontDatabase *QWaylandIntegration::fontDatabase() const