38e7e5b2ba6c75af76567448c241e50771da786d
kate
  Wed Oct 10 14:10:52 2018 -0700
Fix bug in cluster mode introduced by split labels. refs #21917

diff --git src/hg/hgTracks/interactTrack.c src/hg/hgTracks/interactTrack.c
index 6994269..62c5fcd 100644
--- src/hg/hgTracks/interactTrack.c
+++ src/hg/hgTracks/interactTrack.c
@@ -320,36 +320,39 @@
 tInfo->offset = interactUiOffset(tg->tdb);
 tInfo->drawUp = trackDbSettingClosestToHomeOn(tg->tdb, INTERACT_UP);
 tInfo->clusterMode = interactUiClusterMode(cart, tg->track, tg->tdb);
 
 if (!tInfo->clusterMode && !isLinkedFeaturesMode(tg))
     {
     // draw curve display
     tg->mapsSelf = TRUE;
     tg->totalHeight = interactTotalHeight;
     tg->drawLeftLabels = interactNoLeftLabels;
     tg->freeItems = interactFreeItems;
     return;
     }
 
 // convert to BEDs for linked feature display
-tg->itemName = interactLfLeftEndName;
-tg->mapItem = interactLfMapItem;
 struct interact *inters = tg->items, *inter;
 struct linkedFeatures *lfs = NULL, *lf;
 struct hash *intersCluster = hashNew(0);
 boolean doColor = !tg->colorShades;
+if (!tInfo->clusterMode)
+    {
+    tg->itemName = interactLfLeftEndName;
+    tg->mapItem = interactLfMapItem;
+    }
 for (inter = inters; inter; inter = inter->next)
     {
     if (tInfo->clusterMode)
         {
         boolean byTarget = sameString(tInfo->clusterMode, INTERACT_CLUSTER_TARGET);
         // hash by source or target name
         char *name = (byTarget ? inter->targetName : inter->sourceName);
         lf = (struct linkedFeatures *) hashFindVal(intersCluster, name);
         if (lf)
             {
             // add a simple feature for the other end (source or target) to the linked feature
             struct simpleFeature *sf = NULL;
             AllocVar(sf);
 
             // tweak interact struct for intrachromsomal item to ease next steps