>> +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. >> + 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