30a588baa1797511dc22293cda8df6ca384071b6
chmalee
  Mon Jun 17 16:28:21 2024 -0700
Don't show normal tooltips during wiggle mouseover, refs #33975

diff --git src/hg/js/utils.js src/hg/js/utils.js
index 4056bae..861a5da 100644
--- src/hg/js/utils.js
+++ src/hg/js/utils.js
@@ -4040,31 +4040,33 @@
         if (!(mouseIsOverPopup(e, this) || mouseIsOverItem(e, this))) {
             mousemoveController.abort();
             hideMouseoverText(this);
             return;
         }
     }
 }
 
 function showMouseoverText(ev) {
     /* If a tooltip is not visible, show the tooltip text right away. If a tooltip
      * is visble, do nothing as the mousemove event helper will re-call us
      * after hiding the tooltip that is shown */
     ev.preventDefault();
     let referenceElement = lastMouseoverEle;
 
-    if (!tooltipIsVisible()) {
+    if (!tooltipIsVisible() &&
+            // wiggle mouseovers have special code, don't use these tooltips for those:
+            (typeof mouseOver === "undefined" || !mouseOver.visible)) {
         let tooltipDivId = "#" + referenceElement.getAttribute("mouseoverid");
         let tooltipDiv = $(tooltipDivId)[0];
         if (!tooltipDiv) {
             return;
         }
         mouseoverContainer.replaceChildren();
         let divCpy = tooltipDiv.cloneNode(true);
         divCpy.childNodes.forEach(function(n) {
             mouseoverContainer.appendChild(n);
         });
         positionMouseover(ev, referenceElement, mouseoverContainer, ev.pageX, ev.pageY);
         mouseoverContainer.classList.add("isShown");
         mouseoverContainer.style.opacity = "1";
         mouseoverContainer.style.visibility = "visible";
         mouseoverContainer.setAttribute("origItemMouseoverId", referenceElement.getAttribute("mouseoverid"));