18322576ee363eb709c65697cc98be80ad1a2ad4
braney
  Thu Jul 28 11:15:44 2016 -0700
fix problem with composite tracks with only one experiment in the matrix #17795

diff --git src/hg/js/hui.js src/hg/js/hui.js
index be874e9..aacdffe 100644
--- src/hg/js/hui.js
+++ src/hg/js/hui.js
@@ -247,30 +247,31 @@
     for (var vIx=1;vIx<arguments.length;vIx++) {
         subCBs = subCBs.filter("."+arguments[vIx]);  // Successively limit list
     }
 
     if (state) { 
         // If checking subCBs, then make sure up to 3 dimensions of matCBs
         // agree with each other on subCB verdict
         var classes = matAbcCBclasses(false);
         if (classes.length > 0)
             subCBs = objsFilterByClasses(subCBs,"not",classes);  // remove unchecked abcCB classes
         if (arguments.length === 1 || arguments.length === 3) { // Requested dimX&Y: check ABC state
             $( subCBs ).each( function (i) { matSubCBcheckOne(this,state); });
         } else {//if (arguments.length === 2) { // Requested dim ABC (or only 1 dim so harmless)
             var matXY = $("input.matCB").not(".abc");  // check X&Y state
             matXY = $( matXY ).filter(":checked");
+            subCBs.each( function (i) { matSubCBcheckOne(this,state); });
             for (var mIx=0;mIx<matXY.length;mIx++) {
                 classes = $(matXY[mIx]).attr("class").split(' ');
                 classes = aryRemove(classes,["matCB","changed","disabled"]);
                 /* jshint loopfunc: true */// function inside loop works and replacement is awkward.
                 $( subCBs ).filter('.'+classes.join(".")).each( function (i) { 
                                                                    matSubCBcheckOne(this,state); 
                                                             });
             }
         }
     } else  // state not checked so no filtering by other matCBs needed
         subCBs.each( function (i) { matSubCBcheckOne(this,state); });
 
     return true;
 }