gbtrayicon.c:42: warning: assignment from incompatible pointer type On line 42: tray_image = GTK_IMAGE(image); where: static GtkWidget* tray_image = NULL; gb_tray_icon_init(GtkImage* image); The other thing: main.c:93: warning: passing argument 1 of ‘gb_tray_icon_init’ from incompatible pointer type where main.c:93 is: GtkWidget *image; image = gtk_image_new_from_file ("..."); gb_tray_icon_init(image)