b1f658268818067717b2ea5d9a57701ec4836b1a
tdreszer
  Wed Sep 28 09:31:47 2011 -0700
Drag and drop subtracks only on when requested AND not sortable.
diff --git src/hg/lib/hui.c src/hg/lib/hui.c
index 72823ca..3a38892 100644
--- src/hg/lib/hui.c
+++ src/hg/lib/hui.c
@@ -3804,35 +3804,35 @@
 // Get list of leaf subtracks to work with
 struct slRef *subtrackRef, *subtrackRefList = trackDbListGetRefsToDescendantLeaves(parentTdb->subtracks);
 
 // Look for dividers, heirarchy, dimensions, sort and dragAndDrop!
 char **lastDivide = NULL;
 dividers_t *dividers = dividersSettingGet(parentTdb);
 if (dividers)
     lastDivide = needMem(sizeof(char*)*dividers->count);
 hierarchy_t *hierarchy = hierarchySettingGet(parentTdb);
 
 membersForAll_t* membersForAll = membersForAllSubGroupsGet(parentTdb,NULL);
 int dimCount=0,di;
 for(di=0;di<membersForAll->dimMax;di++) { if (membersForAll->members[di]) dimCount++; }
 sortOrder_t* sortOrder = sortOrderGet(cart,parentTdb);
 boolean preSorted = FALSE;
-#ifdef SUBTRACK_CFG
-boolean useDragAndDrop = (sortOrder == NULL); // Only support drag and drop when not sortable table
-#else///ifndef SUBTRACK_CFG
 boolean useDragAndDrop = sameOk("subTracks",trackDbSetting(parentTdb, "dragAndDrop"));
-#endif///ndef SUBTRACK_CFG
+#ifdef SUBTRACK_CFG
+if (useDragAndDrop)
+    useDragAndDrop = (sortOrder == NULL); // Only support drag and drop when not sortable table
+#endif///def SUBTRACK_CFG
 char buffer[SMALLBUF];
 char *displaySubs = NULL;
 int subCount = slCount(subtrackRefList);
 #define LARGE_COMPOSITE_CUTOFF 30
 if (subCount > LARGE_COMPOSITE_CUTOFF)
     {
     safef(buffer,SMALLBUF,"%s.displaySubtracks",parentTdb->track);
     displaySubs = cartUsualString(cart, buffer,"some");              // track specific defaults to only selected
     }
 else
     {
     displaySubs = cartUsualString(cart, "displaySubtracks", "all");  // browser wide defaults to all
     }
 boolean displayAll = sameString(displaySubs, "all");