From 64ed371af51147bfde4607cf46c8d7dd2dc96df0 Mon Sep 17 00:00:00 2001
From: jehret <ehret@vr.rwth-aachen.de>
Date: Wed, 10 Jul 2024 17:06:38 +0200
Subject: [PATCH] copy over fix from RWTH VR Cluster Plugin

---
 .../Public/Events/DisplayClusterEventWrapper.h      | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/Source/RWTHVRCluster/Public/Events/DisplayClusterEventWrapper.h b/Source/RWTHVRCluster/Public/Events/DisplayClusterEventWrapper.h
index e08fed92..efaa2b67 100644
--- a/Source/RWTHVRCluster/Public/Events/DisplayClusterEventWrapper.h
+++ b/Source/RWTHVRCluster/Public/Events/DisplayClusterEventWrapper.h
@@ -26,7 +26,7 @@ public:
 	{
 		checkf(Object == nullptr, TEXT("The event is already attached."));
 		Object = NewObject;
-		ObjectId = Object->GetUniqueID();
+		ObjectName = Object->GetFullName();
 
 		EDisplayClusterOperationMode OperationMode = IDisplayCluster::Get().GetOperationMode();
 		if (OperationMode == EDisplayClusterOperationMode::Cluster)
@@ -45,10 +45,10 @@ public:
 
 					FMemoryReader MemoryReader(Event.EventData);
 
-					uint32 EventObjectId;
+					FString EventObjectName;
 					// This reads the value!
-					MemoryReader << EventObjectId;
-					if (EventObjectId != ObjectId)
+					MemoryReader << EventObjectName;
+					if (EventObjectName != ObjectName)
 					{
 						// Event does not belong to this object.
 						return;
@@ -100,6 +100,7 @@ public:
 		EDisplayClusterOperationMode OperationMode = IDisplayCluster::Get().GetOperationMode();
 		if (OperationMode != EDisplayClusterOperationMode::Cluster)
 		{
+			//Cluster event can be bypassed and function directly called
 			(Object->*MemberFunction)(Forward<ArgTypes>(Arguments)...);
 		}
 		else
@@ -112,7 +113,7 @@ public:
 			ClusterEvent.bShouldDiscardOnRepeat = false;
 
 			FMemoryWriter MemoryWriter(ClusterEvent.EventData);
-			MemoryWriter << ObjectId;
+			MemoryWriter << const_cast<FString&>(ObjectName);
 			MemoryWriter << const_cast<FString&>(MethodName);
 			SerializeParameters(&MemoryWriter, Forward<ArgTypes>(Arguments)...);
 
@@ -122,7 +123,7 @@ public:
 
 private:
 	const FString MethodName;
-	uint32 ObjectId;
+	FString ObjectName;
 	ObjectType* Object = nullptr;
 	FOnClusterEventBinaryListener ClusterEventListenerDelegate;
 };
-- 
GitLab