https://bugs.winehq.org/show_bug.cgi?id=48732
--- Comment #20 from Zebediah Figura z.figura12@gmail.com --- (In reply to Gabriel Ivăncescu from comment #19)
From a glance, yeah, I think so as well. Not sure why that flickering happens. But I honestly doubt SetParent itself is wrong, it might be a Window Manager thing or bug (sometimes new popup windows also get positioned wrongly, not only from Wine, either). I use Compiz with XFCE.
I wouldn't be so quick to assume that SetParent() is entirely correct.
Still this patch would help with that, so I think it's worth it, since it's less intrusive and more correct, anyway. Just for curiosity, do you find the testcase I wrote goes too much into implementation detail? Or the actual change itself? I mainly added it so it doesn't regress later if someone wonders why it's done the way it is.
The test delves too deep into implementation details, yes.
The change is maybe fine, but should have some form of justification, and "it breaks without the patch" isn't really enough. It isn't obvious to me this isn't user32's fault. If it's not, I'd want to see at least a comment describing what SetParent() does and why we can't have that.