Blame SOURCES/0026-Fix-build.patch

de89c0
From a8ddf1a7296e2d28b36231a391807226a7329ae4 Mon Sep 17 00:00:00 2001
de89c0
From: David Edmundson <davidedmundson@kde.org>
de89c0
Date: Mon, 14 Jun 2021 12:45:37 +0100
de89c0
Subject: [PATCH 26/36] Fix build
de89c0
de89c0
1b5e43a593e917610e6245f7a272ac081c508ba4 relied on a patch that we can't
de89c0
backport.
de89c0
de89c0
This adds that extra internal boolean backporting just the tiny part of
de89c0
d6ac8cf6.
de89c0
---
de89c0
 src/client/global/qwaylandclientextension.cpp | 5 ++++-
de89c0
 src/client/global/qwaylandclientextension_p.h | 1 +
de89c0
 2 files changed, 5 insertions(+), 1 deletion(-)
de89c0
de89c0
diff --git a/src/client/global/qwaylandclientextension.cpp b/src/client/global/qwaylandclientextension.cpp
de89c0
index 797b06fe..edccfe63 100644
de89c0
--- a/src/client/global/qwaylandclientextension.cpp
de89c0
+++ b/src/client/global/qwaylandclientextension.cpp
de89c0
@@ -74,7 +74,10 @@ void QWaylandClientExtensionPrivate::handleRegistryGlobal(void *data, ::wl_regis
de89c0
 void QWaylandClientExtension::addRegistryListener()
de89c0
 {
de89c0
     Q_D(QWaylandClientExtension);
de89c0
-    d->waylandIntegration->display()->addRegistryListener(&QWaylandClientExtensionPrivate::handleRegistryGlobal, this);
de89c0
+    if (!d->registered) {
de89c0
+        d->waylandIntegration->display()->addRegistryListener(&QWaylandClientExtensionPrivate::handleRegistryGlobal, this);
de89c0
+        d->registered = true;
de89c0
+    }
de89c0
 }
de89c0
 
de89c0
 QWaylandClientExtension::QWaylandClientExtension(const int ver)
de89c0
diff --git a/src/client/global/qwaylandclientextension_p.h b/src/client/global/qwaylandclientextension_p.h
de89c0
index 69cc46a0..9091efbe 100644
de89c0
--- a/src/client/global/qwaylandclientextension_p.h
de89c0
+++ b/src/client/global/qwaylandclientextension_p.h
de89c0
@@ -68,6 +68,7 @@ public:
de89c0
     QtWaylandClient::QWaylandIntegration *waylandIntegration = nullptr;
de89c0
     int version = -1;
de89c0
     bool active = false;
de89c0
+    bool registered = false;
de89c0
 };
de89c0
 
de89c0
 class Q_WAYLAND_CLIENT_EXPORT QWaylandClientExtensionTemplatePrivate : public QWaylandClientExtensionPrivate
de89c0
-- 
de89c0
2.33.1
de89c0