https://bugs.winehq.org/show_bug.cgi?id=37849
--- Comment #2 from Henri Verbeet hverbeet@gmail.com --- Are you using a NVIDIA card by any chance? I've seen this happen as well, but only ever on NVIDIA hardware. In those cases my impression was that it happens because GetDeviceGammaRamp() (implemented with XF86VidModeGetGammaRamp() in winex11.drv) returns incorrect information, which we then later use to restore gamma in wined3d swapchain_cleanup(). It seems to work fine on radeon / r600g at least.
For what it's worth, I can make something similar happen just by running nvidia-settings.