The following commit broke the behavior of vnc mouse. Forgetting to call check_pointer_type_change in pointer_event() and set_encodings() seems to be the reason. This patch fix this issue.
commit 37c34d9d5d87ea9d51760310c8863b82cb8c055a Author: Anthony Liguori <aligu...@us.ibm.com> Date: Wed Mar 10 09:38:29 2010 -0600 input: make vnc use mouse mode notifiers When we switch to absolute mode, we send out a notification (if the client supports it). Today, we only send this notification when the client sends u a mouse event and we're in the wrong mode. Signed-off-by: Anthony Liguori <aligu...@us.ibm.com> --- vnc.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/vnc.c b/vnc.c index e678fcc..cb4a453 100644 --- a/vnc.c +++ b/vnc.c @@ -1480,6 +1480,8 @@ static void pointer_event(VncState *vs, int button_mask, int x, int y) vs->last_x = x; vs->last_y = y; } + + check_pointer_type_change(&vs->mouse_mode_notifier); } static void reset_keys(VncState *vs) @@ -1820,6 +1822,8 @@ static void set_encodings(VncState *vs, int32_t *encodings, size_t n_encodings) break; } } + + check_pointer_type_change(&vs->mouse_mode_notifier); } static void set_pixel_conversion(VncState *vs) -- 1.7.0.31.g1df487