From 7fa5fad48f0372b865ea65e01a439e679a029c70 Mon Sep 17 00:00:00 2001
From: joni <johnfshaughnessy@gmail.com>
Date: Tue, 27 Feb 2018 14:49:36 -0800
Subject: [PATCH] Fix mute state indicator event listener.

---
 src/components/2d-mute-state-indicator.js |  2 +-
 src/components/in-world-hud.js            | 17 +++++++++++------
 2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/src/components/2d-mute-state-indicator.js b/src/components/2d-mute-state-indicator.js
index d93c83bab..f4997c066 100644
--- a/src/components/2d-mute-state-indicator.js
+++ b/src/components/2d-mute-state-indicator.js
@@ -42,7 +42,7 @@ AFRAME.registerComponent("2d-mute-state-indicator", {
   },
 
   onStateToggled(e) {
-    if (!e.detail.state === "muted") return;
+    if (e.detail !== "muted") return;
     this.updateMuteState();
   },
 
diff --git a/src/components/in-world-hud.js b/src/components/in-world-hud.js
index 3781379f3..9735cb0dd 100644
--- a/src/components/in-world-hud.js
+++ b/src/components/in-world-hud.js
@@ -59,14 +59,19 @@ AFRAME.registerComponent("in-world-hud", {
       this.mic.setAttribute("src", muted ? "#unmuted" : "#muted");
     };
 
+    this.showCorrectMuteState = () => {
+      const muted = this.el.sceneEl.is("muted");
+      this.mic.setAttribute("src", muted ? "#muted" : "#unmuted");
+    };
+
     this.onStateChange = evt => {
-      if (evt.detail.state !== "muted") return;
+      if (evt.detail !== "muted") return;
       this.showCorrectMuteState();
     };
-    this.showCorrectMuteState = () => {
+
+    this.onMicHoverExit = () => {
       this.hoveredOnMic = false;
-      const muted = this.el.sceneEl.is("muted");
-      this.mic.setAttribute("src", muted ? "#muted" : "#unmuted");
+      this.showCorrectMuteState();
     };
 
     this.onSelect = evt => {
@@ -82,7 +87,7 @@ AFRAME.registerComponent("in-world-hud", {
 
   play() {
     this.mic.addEventListener("raycaster-intersected", this.onMicHover);
-    this.mic.addEventListener("raycaster-intersected-cleared", this.showCorrectMuteState);
+    this.mic.addEventListener("raycaster-intersected-cleared", this.onMicHoverExit);
 
     this.nametag.addEventListener("raycaster-intersected", this.addBlue);
     this.nametag.addEventListener("raycaster-intersected-cleared", this.removeBlue);
@@ -102,7 +107,7 @@ AFRAME.registerComponent("in-world-hud", {
     this.nametag.removeEventListener("raycaster-intersected-cleared", this.removeBlue);
 
     this.mic.removeEventListener("raycaster-intersected", this.onMicHover);
-    this.mic.removeEventListener("raycaster-intersected-cleared", this.showCorrectMuteState);
+    this.mic.removeEventListener("raycaster-intersected-cleared", this.onMicHoverExit);
 
     this.avatar.removeEventListener("raycaster-intersected", this.flipX);
     this.avatar.removeEventListener("raycaster-intersected-cleared", this.unflipX);
-- 
GitLab