https://bugs.winehq.org/show_bug.cgi?id=37398
--- Comment #18 from Henri Verbeet hverbeet@gmail.com --- (In reply to Stefan Dösinger from comment #17)
Afair converting P8->RGB on blit is wrong, and we have a test showing that. The real problem here is that a surface isn't marked lost correctly here on a mode change. The application should recreate it or restore it to give it a RGB16 color format instead of P8.
Henri recently made improvements to handling of lost surfaces in ddraw. Maybe it's easier to handle this now.
If the ddraw object is in the exclusive cooperative level surfaces should get marked as lost correctly on mode changes. If it isn't, we never get the notification because we don't call wined3d_device_acquire_focus_window(). (And can't, at least not on the window passed to SetCooperativeLevel().)