IMHO one problem with this patch is that if you *don't* have the big poly locked, or even with just the small polygon, it's easy to accidentally join the polygon to all its vias when you're trying to change the join of a line passing through the polygon. Perhaps a "ChangeJoin(SelectedPolygons)" ?