I think TextEditor::parentHeirarchyChanged() should call setOpaque (findColour (backgroundColourId).isOpaque());
Otherwise what you add a TextEditor to a component that has a look and feel where TextEditor background is transparent, there will be drawing artifacts.

