https://bugs.winehq.org/show_bug.cgi?id=56119
--- Comment #1 from Zeb Figura z.figura12@gmail.com --- Created attachment 75789 --> https://bugs.winehq.org/attachment.cgi?id=75789 proof...
I believe the application is writing to the texture's sysmem outside of Lock() and expecting it to be blitted to the screen. It's been sort of vague knowledge that DDraw Applications Do This Kind Of Thing, but no specific one was mentioned and no tests ever validated it.
The offending texture (I was able to narrow it down to exactly one which causes the invisible buttons when a separate draw texture is used) is locked, then the entire texture is cleared, then blitted from and to.
Proof of this hypothesis is that if we replace the texture's sysmem during the clear, with the attached patch, the menu is invisible even with the offending commit reverted.