new_image() is declared external at the top of main.c: main.c:989 extern void new_image(Widget da); but new_image() is defined in main.c and as far as I can tell, used only in main. Shouldn't the declaration be: void new_image(Widget da); or possibly: static void new_image(Widget da); Am I missing something? ...jerry