src/hg/hgc/parClick.c 1.2

1.2 2010/02/18 18:16:08 markd
fixed bug when clicking on one par when both are displayed
Index: src/hg/hgc/parClick.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgc/parClick.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -B -U 4 -r1.1 -r1.2
--- src/hg/hgc/parClick.c	18 Feb 2010 06:01:45 -0000	1.1
+++ src/hg/hgc/parClick.c	18 Feb 2010 18:16:08 -0000	1.2
@@ -33,25 +33,25 @@
     dif = strcmp(a->chrom, b->chrom);
 return dif;
 }
 
-static struct bed *getClickedPar(struct bed **pars)
-/* find par record that was clicked on, removing it from the list */
+static struct bed *getClickedPar(char *item, struct bed **pars)
+/* find par record that was clicked on, removing it from the list d*/
 {
 struct bed *clickedPar = NULL, *otherPars = NULL, *par;
 while ((par = slPopHead(pars)) != NULL)
     {
-    if (sameString(par->chrom, seqName) && positiveRangeIntersection(par->chromStart, par->chromEnd, winStart, winEnd))
+    if (sameString(par->chrom, seqName) && sameString(par->name, item) && positiveRangeIntersection(par->chromStart, par->chromEnd, winStart, winEnd))
         {
         if (clickedPar != NULL)
-            errAbort("multiple par rows overlapping %s:%d-%d", seqName, winStart, winEnd);
+            errAbort("multiple par rows named %s overlapping %s:%d-%d", item, seqName, winStart, winEnd);
         clickedPar = par;
         }
     else
         slAddHead(&otherPars, par);
     }
 if (clickedPar == NULL)
-    errAbort("no par row overlapping %s:%d-%d", seqName, winStart, winEnd);
+    errAbort("no par row %s overlapping %s:%d-%d", item, seqName, winStart, winEnd);
 *pars = otherPars;
 return clickedPar;
 }
 
@@ -121,9 +121,9 @@
 struct bed *pars = loadParTable(tdb);
 if (slCount(pars) & 1)
     errAbort("par items not paired in %s", tdb->tableName);
 
-struct bed *clickedPar = getClickedPar(&pars);
+struct bed *clickedPar = getClickedPar(name, &pars);
 struct bed *homPar = getHomologousPar(clickedPar, &pars);
 slSort(&pars, parCmp);
 
 cartWebStart(cart, database, "Pseudoautosomal regions");