From 4d775ea8b47e038ca3be9f83d147e054104418ec Mon Sep 17 00:00:00 2001
From: Stepan Salenikovich <stepan.salenikovich@savoirfairelinux.com>
Date: Thu, 12 May 2016 12:15:26 -0400
Subject: [PATCH] call: update conference state to OVER on remove

The conference state is never updated when its removed since
no changed signal is emitted with an updated state. This sets
the state to OVER when we receive the "conferenceRemoved" signal.

The renderer must be removed with deleteLater() due to pending
slot/signal connections.

Tuleap: #644
Change-Id: I23420755fe248ca942a2771c07f657a3c821001a
---
 src/callmodel.cpp                    | 5 +++++
 src/private/videorenderermanager.cpp | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/callmodel.cpp b/src/callmodel.cpp
index 9b237999..bbd49153 100644
--- a/src/callmodel.cpp
+++ b/src/callmodel.cpp
@@ -842,6 +842,11 @@ void CallModelPrivate::removeConference(Call* call)
       return;
    }
    removeCall(call,true);
+
+   // currently the daemon does not emit a  Call/Conference changed signal to indicate that the
+   // conference is over so we change the conf state here (since this is called when we get the
+   // "removeConference" signal from the daemon)
+   call->d_ptr->changeCurrentState(Call::State::OVER);
 }
 
 
diff --git a/src/private/videorenderermanager.cpp b/src/private/videorenderermanager.cpp
index 72ba64e9..75e67de7 100644
--- a/src/private/videorenderermanager.cpp
+++ b/src/private/videorenderermanager.cpp
@@ -334,7 +334,7 @@ void VideoRendererManagerPrivate::removeRenderer(Video::Renderer* r)
            t->deleteLater();
        }
 
-       delete r;
+       r->deleteLater();
    }
 }
 
-- 
GitLab