https://bugs.winehq.org/show_bug.cgi?id=53910
--- Comment #3 from Rafał Mużyło galtgendo@o2.pl --- Something interesting to add:
I've just seen an interesting reaction to a dpms cycle in a game written for an engine based on node-webkit, one that may hold a part of the answer of those 'invisible' windows (which stopped being 'invisible' awhile be rc cycle (IIRC), but still every now and then crash if moved after such dpms cycle).
What happened was that:
- after the cycle the window was partially moved off-screen (pretty standard)
- after it was moved fully in, initially its content was drawn incorrectly in a very specific way: the strip that was off-screen was black, but its content was wrapped around inside the game window (that is when the window went outside the right edge of the screen during dpms cycle, when it was moved back, that vertical strip was drawn from the *left* edge of the game window)
- after the window lost and regained focus (the game constantly needs that to show its internal confirmation dialogs - most likely a wine bug) it was redrawn correctly
Such display glitch combined with the crashes may suggest that during such dpms cycle windows become desync'd with their gl contexts (and crashes are due to access to unallocated memory or something alike)...