Ok,

On 10/25/2010 10:48 AM, Alon Levy wrote:
On Mon, Oct 25, 2010 at 09:30:02AM +0200, Hans de Goede wrote:
Hi,

On 10/24/2010 03:13 PM, Alon Levy wrote:
The tablet uinput device is closed and opened by vdagentd as a result of 
guest_xorg_res.
So far this message was only sent on startup of vdagent. Unless we resend it
uinput doesn't know of the changed resolution, and the mouse position in the 
guest is incorrect.

---
  vdagent-x11.c |    3 +++
  1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/vdagent-x11.c b/vdagent-x11.c
index 00d1886..a8dadde 100644
--- a/vdagent-x11.c
+++ b/vdagent-x11.c
@@ -789,6 +789,9 @@ void vdagent_x11_set_monitor_config(struct vdagent_x11 *x11,
                         rotation, CurrentTime);
      XRRFreeScreenConfigInfo(config);
      XFlush(x11->display);
+    x11->width = sizes[best].width;
+    x11->height = sizes[best].height;
+    vdagent_x11_send_daemon_guest_xorg_res(x11);
  }

  void vdagent_x11_clipboard_request(struct vdagent_x11 *x11, uint32_t type)

Hmm, is this really necessary? I'm asking because we are watching for
ConfigureNotify events on the root window and when we get those do
a vdagent_x11_send_daemon_guest_xorg_res(x11). I have not tested the scenario 
you
are referring to here. But if one changes the guest resolution through
for example system->preferences->monitor, vdagent will get a ConfigureNotify 
event
and based on that do a vdagent_x11_send_daemon_guest_xorg_res(x11). I would
expect the same to happen if the agent itself changes the resolution.

Yes, I saw you are listening for those events, but for some reason they are not
triggered when the resolution is changed by the set_monitor_config function. I'm
sorry I didn't investigate further, I just checked to make sure I don't create 
any
endless feedback loop by seeing that xrandr works fine with my patch, and of 
course
with this patch changes that are triggered by the monitor_config message (i.e. 
from
the client side) are reflected.


Ack then. Note that the linux agent now has a non personal / private git repo 
here:
ssh://[email protected]/git/spice/linux/vd_agent

Which does not yet show up in cgit for some reason (need to ping ajax about 
that).
If you replace jwrdegoede by your freedesktop.org username you should be able
to push the patch their yourself!

Also this repo has patches for image copy and paste support, so with this 
version
you should be able to copy and paste images between a linux guest and a linux 
client.

Note you need spice-server from git (for some vdagent channel fixes,
and this qemu patch:
http://cgit.freedesktop.org/spice/qemu/commit/?h=bugfix.1&id=f3d7d80a52e71a35a5f603dcead181f9f9e9709c

Or your guest may end up hanging, when sending large amounts of data over
the vdagent channel.

Could it be that the messages are sent to a different window? or that X doesn't 
send
those messages to the originating process?

I've no idea :|

Regards,

Hans
_______________________________________________
Spice-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/spice-devel

Reply via email to