From cf07a7fd913d5a245d92254205b455fb27b8e3f3 Mon Sep 17 00:00:00 2001 From: David Edmundson Date: Wed, 7 Dec 2022 11:50:37 +0000 Subject: Client: Allow runtime disabling of interfaces for debugging purposes When running it's useful to confirm things work correctly in various configurations. In particular testing how things behave without server side decorations is important on all changes. It's easier to make the client pretend the compositor didn't send anything than change the compositor every time. This also potentially makes unit tests simpler than having to change the mock compositor setup. Change-Id: Ide897d918384389009aa38c7030d5ac30fc837a6 Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/client/qwaylanddisplay.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src') diff --git a/src/client/qwaylanddisplay.cpp b/src/client/qwaylanddisplay.cpp index 2bf09331..46c85a6a 100644 --- a/src/client/qwaylanddisplay.cpp +++ b/src/client/qwaylanddisplay.cpp @@ -492,6 +492,11 @@ void QWaylandDisplay::registry_global(uint32_t id, const QString &interface, uin { struct ::wl_registry *registry = object(); + static QByteArrayList interfaceBlacklist = qgetenv("QT_WAYLAND_DISABLED_INTERFACES").split(','); + if (interfaceBlacklist.contains(interface)) { + return; + } + if (interface == QLatin1String(QtWayland::wl_output::interface()->name)) { mWaitingScreens << mWaylandIntegration->createPlatformScreen(this, version, id); } else if (interface == QLatin1String(QtWayland::wl_compositor::interface()->name)) { -- cgit v1.2.1