From 1c8fdb192451e4624eadc21fcd82165430714988 Mon Sep 17 00:00:00 2001 From: Christophe Deschamps Date: Thu, 12 May 2022 20:35:40 +0200 Subject: [PATCH] Remove observers before reloading grid/as participants of a conference --- .../Fragments/Conference/VoipConferenceActiveSpeakerView.swift | 3 +++ .../Views/Fragments/Conference/VoipConferenceGridView.swift | 3 +++ 2 files changed, 6 insertions(+) diff --git a/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceActiveSpeakerView.swift b/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceActiveSpeakerView.swift index 723d3f007..aa4cbc813 100644 --- a/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceActiveSpeakerView.swift +++ b/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceActiveSpeakerView.swift @@ -90,6 +90,9 @@ class VoipConferenceActiveSpeakerView: UIView, UICollectionViewDataSource, UICol } func reloadData() { + conferenceViewModel?.conferenceParticipantDevices.value?.forEach { + $0.clearObservers() + } self.grid.reloadData() } diff --git a/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceGridView.swift b/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceGridView.swift index d2394bec1..f8d863e5f 100644 --- a/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceGridView.swift +++ b/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceGridView.swift @@ -174,6 +174,9 @@ class VoipConferenceGridView: UIView, UICollectionViewDataSource, UICollectionVi // UICollectionView related delegates func reloadData() { + conferenceViewModel?.conferenceParticipantDevices.value?.forEach { + $0.clearObservers() + } if (self.isHidden || conferenceViewModel?.conference.value?.call?.params?.conferenceVideoLayout != .Grid) { self.grid.reloadData() return