From 5f7b4f3bcd78ce893c3a5b52415e339b27159fd8 Mon Sep 17 00:00:00 2001 From: Christophe Deschamps Date: Thu, 31 Mar 2022 06:15:50 +0200 Subject: [PATCH] Clear mutable observers to avoid display issues when cell are recycled --- .../Views/Fragments/Conference/VoipGridParticipantCell.swift | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Classes/Swift/Voip/Views/Fragments/Conference/VoipGridParticipantCell.swift b/Classes/Swift/Voip/Views/Fragments/Conference/VoipGridParticipantCell.swift index 79ebb474c..4b7a7508b 100644 --- a/Classes/Swift/Voip/Views/Fragments/Conference/VoipGridParticipantCell.swift +++ b/Classes/Swift/Voip/Views/Fragments/Conference/VoipGridParticipantCell.swift @@ -42,11 +42,13 @@ class VoipGridParticipantCell: UICollectionViewCell { var participantData: ConferenceParticipantDeviceData? = nil { didSet { if let data = participantData { + data.isInConference.clearObservers() data.isInConference.readCurrentAndObserve { (isIn) in self.updateBackground() self.pause.isHidden = isIn == true self.pauseLabel.isHidden = self.pause.isHidden } + data.videoEnabled.clearObservers() data.videoEnabled.readCurrentAndObserve { (videoEnabled) in self.updateBackground() if (videoEnabled == true) { @@ -67,6 +69,7 @@ class VoipGridParticipantCell: UICollectionViewCell { self.displayName.text = displayName } } + data.activeSpeaker.clearObservers() data.activeSpeaker.readCurrentAndObserve { (active) in if (active == true) { self.layer.borderWidth = 2