Issue is that all loops of a face adjacent to the sliding verts were getting project-corrected. Introduced a test to only project the affected loops. The projection code introduces a small offset to the boundaries so that any boundary tests can work as expected, but this leads to shrinking of the barycentric coordinates of the projection, causing a shrink of the uvs in turn. This even affects the uvs that -should- be affected though the unfixed behavior works strangely in a correctish way (my guess is because the projection uses the same face as the opposite sliding loop). I fixed the behaviour by taking the mean value of the uvs. This won't support seams but current code doesn't either. Also, all CustomData to exhibit this unfixed behaviour. I only fixed the uv case, other data (Vcolors, etc) will have discontinuities when edge sliding. I expect that the CorrectUV code I am working on may address some of these issues. Also, added NULL checks for utility function (was intended for this bug but wasn't needed after all)