> > + if (s->opts->has_show_cursor && s->opts->show_cursor) { > > + s->null_cursor = NULL; /* default pointer */ > > + } else { > > + s->null_cursor = gdk_cursor_new_for_display(window_display, > > + GDK_BLANK_CURSOR); > > + } > > I think it would make more sense to have all the logic related to what > cursor is used in the same location, instead of split up between here and > gd_update_cursor(). Note that it isn't that simple. There are a few more places in gd_grab_*() which use s->null_cursor and would need adaption. cheers, Gerd