It seems to have been caused by a logic error that was only calling CompositeRedirectSubwindows for windows without a parent. I couldn't see any reason why this should be the case and calling this for all windows seems to fix xeyes.
It seems to have been caused by a logic error that was only calling CompositeRedire ctSubwindows for windows without a parent. I couldn't see any reason why this should be the case and calling this for all windows seems to fix xeyes.