da2e00021362a366f2f3b17b238305ca7981c7d2 tdreszer Thu Dec 15 12:44:34 2011 -0800 Some older composites have packable children which are seen in rightClick as unpackable. The mixed case that gives rise to this should not be allowed now, but we can support it for those older composites. The rule is, if any single subtrack is packable, then the whole tree is. diff --git src/hg/hgTracks/imageV2.c src/hg/hgTracks/imageV2.c index 7aa19ab..ddeb367 100644 --- src/hg/hgTracks/imageV2.c +++ src/hg/hgTracks/imageV2.c @@ -220,31 +220,31 @@ enum kindOfParent kindOfParent = tdbKindOfParent(track->tdb); enum kindOfChild kindOfChild = tdbKindOfChild(track->tdb); jsonHashAddNumber(ele, "kindOfParent", kindOfParent); jsonHashAddNumber(ele, "kindOfChild", kindOfChild); // Tell something about the parent and/or children if (kindOfChild != kocOrphan) { struct trackDb *parentTdb = (kindOfChild == kocFolderContent ? track->tdb->parent :tdbGetContainer(track->tdb)); jsonHashAddString(ele, "parentTrack", parentTdb->track); jsonHashAddString(ele, "parentLabel", parentTdb->shortLabel); if (kindOfChild != kocFolderContent && !track->canPack) { jsonHashAddNumber(ele, "shouldPack", 0); // default vis is full, but pack is an option - track->canPack = parentTdb->canPack; + track->canPack = rTdbTreeCanPack(parentTdb); } } // XXXX really s/d be numChildren jsonHashAddNumber(ele, "hasChildren", slCount(track->tdb->subtracks)); // Configuring? int cfgByPopup = configurableByAjax(track->tdb,0); if (!configurable || track->hasUi == FALSE || cfgByPopup == cfgNone) jsonHashAddString(ele, "configureBy", "none"); else if (cfgByPopup < 0) // denied via ajax, but allowed via full normal hgTrackUi page jsonHashAddString(ele, "configureBy", "clickThrough"); else