eef613fa32e9478764c69f7e38420cdf1168e60c
kate
  Wed Mar 28 15:18:09 2018 -0700
Fix the fix (note #22). refs #21109

diff --git src/hg/hgTracks/interactTrack.c src/hg/hgTracks/interactTrack.c
index 26e7769..39f6c19 100644
--- src/hg/hgTracks/interactTrack.c
+++ src/hg/hgTracks/interactTrack.c
@@ -376,31 +376,31 @@
         hvGfxBox(hvg, sX, yOff, 1, 1, MG_WHITE);
         mapBoxHgcOrHgGene(hvg, chromStart, chromEnd, 
                            sX - sWidth, yOff, sWidth * 2, 3,
                            tg->track, itemBuf, nameBuf, NULL, TRUE, NULL);
         }
     if (tOnScreen)
         {
         // add map box to target region
         nameBuf = isEmptyTextField(inter->targetName) ? statusBuf : inter->targetName;
         hvGfxBox(hvg, tX-1, yOff, 3, 1, peakColor);
         hvGfxBox(hvg, tX, yOff, 1, 1, MG_WHITE);
         mapBoxHgcOrHgGene(hvg, chromStart, chromEnd, 
                         tX - tWidth, yOff, tWidth * 2, 3,
                         tg->track, itemBuf, nameBuf, NULL, TRUE, NULL);
         }
-    if (!sOnScreen && !tOnScreen)
+    if ((s < seqStart && t < seqStart) || (s > seqEnd && t > seqEnd))
         continue;
 
     // Draw interaction and map boxes
     int lowerX = 0, upperX = 0;
     if (s < t)
         {
         lowerX = sOnScreen ? sX : xOff;
         upperX = tOnScreen ? tX : xOff + width;
         }
     else
         {
         lowerX = tOnScreen ? tX : xOff;
         upperX = sOnScreen ? sX : xOff + width;
         }
     if (draw == DRAW_LINE || !sOnScreen || !tOnScreen)