Given that the changed line, plus the three below it, are effectively a no-op (they only turn the water block into a source if it is already a source), it surely feels like a bug for me.
Also, I can't fathom that it's intended that a 1-deep 2x2 pool should be an infinite water source but a 2-deep pool shouldn't.
Not tile entities, but blocks with materials marked as not solid (which, in MCP, are Material.plants and Material.circuits). Those seem to be explicitly allowed for in the code.
Given that the changed line, plus the three below it, are effectively a no-op (they only turn the water block into a source if it is already a source), it surely feels like a bug for me.
Also, I can't fathom that it's intended that a 1-deep 2x2 pool should be an infinite water source but a 2-deep pool shouldn't.