Broken: 2.79 (8760725) and likely before
Short description of error
Vertex color incorrectly displays in material view (cycles) for meshes that share a material and do not have a vertex color layer. This is in material view and using a material that shows the vertex color (so for example Attribute Col into a shader Color input). So if you've got mesh A with a vertex color layer using material Z and mesh B without a vertex color layer using the same material Z, mesh B will show in the 3dview as having the same color as mesh A even if mesh B doesn't actually have a vertex color layer. I would expect the Col input in the material to not have any effect if the mesh doesn't actually have a vertex color layer.
Note that you need to enter and exit edit mode in order for the color to incorrectly update on the additional mesh.
Exact steps for others to reproduce the error
Based on a (as simple as possible) attached .blend file with minimum amount of steps
- Add two cubes.
- Create a new material using vertex color. For example Attribute Col into a Diffuse BSDF Color input. If there's no vertex color layer add it for one of the cubes only.
- Assign the new material to the two meshes.
- Enter material shading viewport mode.
- For the mesh with a vertex color layer, enter vertex paint mode and paint on the mesh with a color you can see easily (like blue).
- Enter object mode. Notice that the other mesh stays the same color.
- Enter edit mode for the mesh with a vertex color layer (the one you painted) and go back to object mode again. Notice that the other mesh now incorrectly changes color.
Expected behavior at 7: The other mesh should stay the same color as before because it doesn't have a vertex color layer and thus shouldn't be affected by any other meshes' vertex colors.