This follows what was done for GtkDragSource in 415030d25f and shaves another 500 lines off gtkdnd.c.
415030d25f