The positioning of the highlight window was not reliable; instead just use a after-handler for the draw signal, in the same way that drag highlights are drawn by GTK+ itself. And copy the code for grabbing a widget via pointer from testgtk; that code is known to work.