With a change you made along with that there is a pointless loop now in BuildingFilterIsMilitary::isFilteredBuilding:Changed FreePromoTypes tag to enable a condition statement regarding the unit that would receive the promotion.
Code:
bool hasFreePromofromList = false;
for (int iI = 0; iI < GC.getBuildingInfo(eBuilding).getNumFreePromoTypes(); iI++)
{
hasFreePromofromList = true;
}
bool hasFreePromofromList = GC.getBuildingInfo(eBuilding).getNumFreePromoTypes() > 0;