diff options
author | Gerhard Wiesinger <lists@wiesinger.com> | 2012-01-25 21:04:14 +0100 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2012-02-01 16:24:38 -0600 |
commit | 069ab0eb8a46bc4ff6f4d4d81bf037d3441347da (patch) | |
tree | 27a1fe492b88525fa3fbd51acd96cbef85028b92 /hw/vmmouse.c | |
parent | 93dd748b789202af4f5be75412c58ee1ed481b29 (diff) | |
download | qemu-069ab0eb8a46bc4ff6f4d4d81bf037d3441347da.zip qemu-069ab0eb8a46bc4ff6f4d4d81bf037d3441347da.tar.gz qemu-069ab0eb8a46bc4ff6f4d4d81bf037d3441347da.tar.bz2 |
hw/vmmouse.c: Disable vmmouse after reboot
Bugfix after reboot when vmmouse was enabled and another OS which uses e.g. PS/2
mouse.
Details:
When a guest activated the vmmouse followed by a reboot the vmmouse was still
enabled and the PS/2 mouse was therefore unsusable. When another guest is then
booted without vmmouse support (e.g. PS/2 mouse) the mouse is not working.
Reason is that VMMouse has priority and disables all other mouse entities
and therefore must be disabled on reset.
Testscenario:
1.) Boot e.g. OS with VMMouse support (e.g. Windows with VMMouse tools)
2.) reboot
3.) Boot e.g. OS without VMMouse support (e.g. DOS) => PS/2 mouse doesn't work
any more. Fixes that issue.
Testscenario 2 by Jan Kiszka <jan.kiszka@siemens.com>:
Confirm that this patch fixes a real issue. Setup: qemu.git,
opensuse 11.4 guest, SDL graphic, system_reset while guest is using the
vmmouse. Without the patch, the vmmouse become unusable after the
reboot. Also, the mouse stays in absolute mode even before X starts again.
Fixed by:
Disabling the vmmouse in its reset handler.
Tested-by: Andreas F=E4rber <afaerber@suse.de>
Signed-off-by: Gerhard Wiesinger <lists@wiesinger.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw/vmmouse.c')
-rw-r--r-- | hw/vmmouse.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/vmmouse.c b/hw/vmmouse.c index da2ea32..5c80bc4 100644 --- a/hw/vmmouse.c +++ b/hw/vmmouse.c @@ -254,6 +254,8 @@ static void vmmouse_reset(DeviceState *d) s->status = 0xffff; s->queue_size = VMMOUSE_QUEUE_SIZE; + + vmmouse_disable(s); } static int vmmouse_initfn(ISADevice *dev) |