Hello community,
here is the log from the commit of package kvm for openSUSE:Factory
checked in at Mon Jan 10 13:51:41 CET 2011.
--------
--- kvm/kvm.changes 2010-11-30 19:19:28.000000000 +0100
+++ /mounts/work_src_done/STABLE/kvm/kvm.changes 2011-01-07 23:32:45.000000000 +0100
@@ -1,0 +2,10 @@
+Fri Jan 7 22:10:57 UTC 2011 - brogers@novell.com
+
+- Fix mouse breakage (bnc#660870)
+
+-------------------------------------------------------------------
+Fri Jan 7 22:09:45 UTC 2011 - brogers@novell.com
+
+- [dictzip] fix images > 32bit (Alexander Graf) (bnc#654944)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
New:
----
kvm-qemu-preXX-mouse-fix.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kvm.spec ++++++
--- /var/tmp/diff_new_pack.WHwJkG/_old 2011-01-10 13:51:02.000000000 +0100
+++ /var/tmp/diff_new_pack.WHwJkG/_new 2011-01-10 13:51:02.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package kvm (Version 0.13.0)
#
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -75,7 +75,7 @@
Summary: Kernel-based Virtual Machine
Url: http://kvm.qumranet.com/
Version: 0.13.0
-Release: 2
+Release: 3
Source0: qemu-%{name}-%{version}.tar.bz2
Source1: 60-kvm.rules
Source2: qemu-ifup
@@ -112,6 +112,7 @@
Patch200: kvm-studio-slirp-nooutgoing.patch
Patch201: kvm-studio-vnc.patch
+Patch202: kvm-qemu-preXX-mouse-fix.patch
# for IA64
Source500: ia64-fix-pagesize.pl
Patch500: IA64-kvm-suse.patch
@@ -210,6 +211,7 @@
# Studio addons
%patch200 -p1
%patch201 -p1
+%patch202 -p1
# IA64 support
%ifarch ia64
%patch500 -p1
++++++ kvm-qemu-preXX-dictzip1.patch ++++++
--- /var/tmp/diff_new_pack.WHwJkG/_old 2011-01-10 13:51:03.000000000 +0100
+++ /var/tmp/diff_new_pack.WHwJkG/_new 2011-01-10 13:51:03.000000000 +0100
@@ -142,7 +142,7 @@
+ DictCache cache[CACHE_COUNT];
+ int cache_index;
+ uint8_t stream_in_use;
-+ uint32_t chunk_len;
++ uint64_t chunk_len;
+ uint32_t chunk_cnt;
+ uint16_t *chunks;
+ uint32_t *chunks32;
++++++ kvm-qemu-preXX-mouse-fix.patch ++++++
commit cd496926155afcb3b6323e70dd720dc118b3a255
Author: Gerd Hoffmann
Date: Fri Oct 8 12:30:13 2010 +0200
vmmouse: adapt to mouse handler changes.
This patch updates the vmmouse handler registration and activation.
Old behavior:
vmmouse_read_id, vmmouse_request_relative and vmmouse_request_absolute
unregister the handler and re-register it.
New behavior:
vmmouse_request_relative and vmmouse_request_absolute will unregister
the handler in case the mode did change. Then register and active the
handler with current mode if needed.
Note that the old code never ever *activates* the handler, so the
vmmouse doesn't receive events. This trips up Fedora 14 for example:
Boot a default install without usb tablet, watch the X-Server activating
the vmmouse then, enjoy a non-functional mouse.
Signed-off-by: Gerd Hoffmann
Signed-off-by: Anthony Liguori
diff --git a/hw/vmmouse.c b/hw/vmmouse.c
index f359304..2097119 100644
--- a/hw/vmmouse.c
+++ b/hw/vmmouse.c
@@ -100,16 +100,29 @@ static void vmmouse_mouse_event(void *opaque, int x, int y, int dz, int buttons_
i8042_isa_mouse_fake_event(s->ps2_mouse);
}
-static void vmmouse_update_handler(VMMouseState *s)
+static void vmmouse_remove_handler(VMMouseState *s)
{
if (s->entry) {
qemu_remove_mouse_event_handler(s->entry);
s->entry = NULL;
}
- if (s->status == 0)
+}
+
+static void vmmouse_update_handler(VMMouseState *s, int absolute)
+{
+ if (s->status != 0) {
+ return;
+ }
+ if (s->absolute != absolute) {
+ s->absolute = absolute;
+ vmmouse_remove_handler(s);
+ }
+ if (s->entry == NULL) {
s->entry = qemu_add_mouse_event_handler(vmmouse_mouse_event,
s, s->absolute,
"vmmouse");
+ qemu_activate_mouse_event_handler(s->entry);
+ }
}
static void vmmouse_read_id(VMMouseState *s)
@@ -121,28 +134,25 @@ static void vmmouse_read_id(VMMouseState *s)
s->queue[s->nb_queue++] = VMMOUSE_VERSION;
s->status = 0;
- vmmouse_update_handler(s);
}
static void vmmouse_request_relative(VMMouseState *s)
{
DPRINTF("vmmouse_request_relative()\n");
- s->absolute = 0;
- vmmouse_update_handler(s);
+ vmmouse_update_handler(s, 0);
}
static void vmmouse_request_absolute(VMMouseState *s)
{
DPRINTF("vmmouse_request_absolute()\n");
- s->absolute = 1;
- vmmouse_update_handler(s);
+ vmmouse_update_handler(s, 1);
}
static void vmmouse_disable(VMMouseState *s)
{
DPRINTF("vmmouse_disable()\n");
s->status = 0xffff;
- vmmouse_update_handler(s);
+ vmmouse_remove_handler(s);
}
static void vmmouse_data(VMMouseState *s, uint32_t *data, uint32_t size)
@@ -154,7 +164,7 @@ static void vmmouse_data(VMMouseState *s, uint32_t *data, uint32_t size)
if (size == 0 || size > 6 || size > s->nb_queue) {
printf("vmmouse: driver requested too much data %d\n", size);
s->status = 0xffff;
- vmmouse_update_handler(s);
+ vmmouse_remove_handler(s);
return;
}
@@ -239,7 +249,8 @@ static int vmmouse_post_load(void *opaque, int version_id)
{
VMMouseState *s = opaque;
- vmmouse_update_handler(s);
+ vmmouse_remove_handler(s);
+ vmmouse_update_handler(s, s->absolute);
return 0;
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org