http://bugs.winehq.org/show_bug.cgi?id=30115
--- Comment #4 from Henri Verbeet hverbeet@gmail.com 2012-03-09 10:13:55 CST --- (In reply to comment #3)
Actually I'm trying to hunt down the problem near it's roots, thus I'm working with commit 156d24c6 codebase. At that moment there hadn't been such thing as surface_cpu_blt_compressed() - the contents of this function had been essentially inlined into the surface_cpu_blt().
Ok, but the flaw I described is essentially the same in that version. dbuf is a pointer to contents of the blitted rectangle in the destination surface, while sbuf is a pointer to the contents of the entire source surface.