win32-vd_agent/vdagent
Arnon Gilboa b127e5fdae vdagent: fix cursor position sync on multimon rhbz#757819
On any change of the display settings, driven by client message or guest user,
normalize all display positions to non-negative coordinates, and update total
width and height of the virtual desktop. The bug was due to wrong handling of
(non-primary) displays positioned on negative coordinates.

Primary monitor is always located (in windows) in (0,0). When a secondary
monitor is positioned above/to the left of the primary, it will have negative
coordinate. This can be the case when guest display settings are changed either
manually on the guest, or due to a message (auto-conf VD_AGENT_MONITORS_CONFIG)
from the client to the agent.

In VDAgent::handle_mouse_event(), mouse event is generated by scaling the
received (x,y, display_id) to normalized absolute coordinates (0..0xffff) on
the entire virtual desktop which contains all the displays. Keeping negative
display coordinates, as received from the client, was mistakenly handled and
generated wrong (sometimes even negative) coordinates.
2012-02-05 11:52:58 +02:00
..
desktop_layout.cpp vdagent: fix cursor position sync on multimon rhbz#757819 2012-02-05 11:52:58 +02:00
desktop_layout.h vdagent: fix cursor position sync on multimon rhbz#757819 2012-02-05 11:52:58 +02:00
display_setting.cpp Controlling Windows display settings (e.g., wallpaper, UI effects and font smoothing) 2010-08-24 10:36:05 +03:00
display_setting.h Controlling Windows display settings (e.g., wallpaper, UI effects and font smoothing) 2010-08-24 10:36:05 +03:00
resource.h fresh start 2009-11-05 13:02:54 +02:00
vdagent.cpp vdagent: release clipboard ownership on agent stop & desktop switch rhbz#731628 2011-11-16 12:09:46 +02:00
vdagent.rc vdagent: add win7 support to service for launching agent 2009-12-23 15:31:01 +02:00
vdagent.vcproj vdagent: use SPICE_PROTOCOL_DIR in project include dirs 2011-05-03 16:55:49 +03:00