Gerd Hoffmann <kra...@redhat.com> writes:

>>> +static void gd_mouse_set(DisplayChangeListener *dcl,
>>> +                         int x, int y, int visible)
>>> +{
>>> +    /* should warp pointer to x, y here */
>> 
>> This is just a matter of doing:
>> 
>>     gdk_window_get_root_coords(window, x, y, &x_root, &y_root);
>>     gdk_display_warp_pointer(display, screen, x_root, y_root);
>
> Thanks.
>
>>> +    cursor = gdk_cursor_new_from_pixbuf(gdk_display_get_default(),
>> 
>> You should get the display from the drawing_area widget.
>
> Yea, couldn't find the function which does this though.

gtk_widget_get_display(s->drawing_area) for both GTK2/GTK3.

I don't think this will play all that nicely with GTK3 and multiple
input devices but I can't think of a better way.  The notion of a guest
initiated cursor warp doesn't really make sense with multiple input
devices I think.

Regards,

Anthony Liguori


>
>>> +                                        pixbuf, c->hot_x, c->hot_y);
>>> +    gdk_window_set_cursor(s->drawing_area->window, cursor);
>>> +    g_object_unref(pixbuf);
>> 
>> You should also dereference the cursor here.
>
> Will fix.
>
> cheers,
>   Gerd


Reply via email to