FDirtySet::RemoveIfNoShapesAreDirty

Only does the removal if no shapes are dirty.