leave(: SVs erfolgreich austreten lassen.
Wenn ein SV nicht als Objekt, sondern als Objektname
gespeichert ist, wurde er beim Austritt nicht durch
ein anderes Objekt ersetzt. Beim naechsten
assert_supervisor() wird das Objekt wieder gesucht
und als Zuhoerer eingetragen.
Nach dieser Aenderung kann der SV austreten und
gibt dabei auch die SV-Rolle ab.
Change-Id: Ia9624c37273a59264f4be4d7e781561ebe2340e3
diff --git a/p/daemon/channeld.c b/p/daemon/channeld.c
index 0c37553..db1e1d7 100644
--- a/p/daemon/channeld.c
+++ b/p/daemon/channeld.c
@@ -908,7 +908,8 @@
// Kontrolle an jemand anderen uebergeben, wenn der Ebenensupervisor
// diese verlassen hat. change_sv_object() waehlt per Default den
// aeltesten Zuhoerer.
- if (pl == channels[ch][I_SUPERVISOR])
+ if (pl == channels[ch][I_SUPERVISOR]
+ || object_name(pl) == channels[ch][I_SUPERVISOR])
{
change_sv_object(ch, pl, 0);
}