From 18698691281eed523b302276c44fb3c93442245e Mon Sep 17 00:00:00 2001
From: Greg Fodor <gfodor@gmail.com>
Date: Fri, 9 Nov 2018 22:05:30 +0000
Subject: [PATCH] Simulate grab/hover/stretch-end when object is removed by
 user

---
 src/components/remove-networked-object-button.js | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/components/remove-networked-object-button.js b/src/components/remove-networked-object-button.js
index e3f4aa2c0..813870630 100644
--- a/src/components/remove-networked-object-button.js
+++ b/src/components/remove-networked-object-button.js
@@ -1,8 +1,15 @@
 AFRAME.registerComponent("remove-networked-object-button", {
   init() {
-    this.onClick = () => {
+    this.onClick = e => {
       if (!NAF.utils.isMine(this.targetEl) && !NAF.utils.takeOwnership(this.targetEl)) return;
 
+      // HACK currently superhands does not simulate a grab-end or a hover-end
+      // when an object is removed, so we do it here for now to ensure any
+      // super hands who have this element are cleared.
+      this.targetEl.dispatchEvent(new window.CustomEvent("stretch-end", e));
+      this.targetEl.dispatchEvent(new window.CustomEvent("hover-end", e));
+      this.targetEl.dispatchEvent(new window.CustomEvent("grab-end", e));
+
       this.targetEl.parentNode.removeChild(this.targetEl);
     };
 
-- 
GitLab