diff --git a/src/plugins/platforms/wayland/global/qwaylandclientextension.cpp b/src/plugins/platforms/wayland/global/qwaylandclientextension.cpp index 4202b333b47..8992e132f03 100644 --- a/src/plugins/platforms/wayland/global/qwaylandclientextension.cpp +++ b/src/plugins/platforms/wayland/global/qwaylandclientextension.cpp @@ -60,7 +60,7 @@ void QWaylandClientExtensionPrivate::handleRegistryGlobal(void *data, ::wl_regis const QString &interface, uint32_t version) { QWaylandClientExtension *extension = static_cast(data); - if (interface == QLatin1String(extension->extensionInterface()->name)) { + if (interface == QLatin1String(extension->extensionInterface()->name) && !extension->d_func()->active) { extension->bind(registry, id, version); extension->d_func()->active = true; emit extension->activeChanged();