cirrus_vga: fix division by 0 for color expansion rop
authorAurelien Jarno <aurelien@aurel32.net>
Tue, 4 Jan 2011 20:58:24 +0000 (21:58 +0100)
committerAurelien Jarno <aurelien@aurel32.net>
Tue, 4 Jan 2011 20:58:24 +0000 (21:58 +0100)
commit92d675d1c1f23f3617e24b63c825074a1d1da44b
treeed33f1f49aecd88b1182f766daab6cf0345f334d
parent9ae19b657ee20f4d03bdca8dbf367b932801ac93
cirrus_vga: fix division by 0 for color expansion rop

Commit d85d0d3883f5a567fa2969a0396e42e0a662b3fa introduces a regression
with Windows ME that leads to a division by 0 and a crash.

It uses the color expansion rop with the source pitch set to 0. This is
something allowed, as the manual explicitely says "When the source of
color-expand data is display memory, the source pitch is ignored.".

This patch fixes this regression by computing sx, sy and others
variables only if they are going to be used later, that is for a plain
copy ROP. It basically consists in moving code.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
hw/cirrus_vga.c