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



Reply via email to