I'm not 100% sure what the part of the process your having trouble with is, but my best guess is that you want to cause the widget to redraw when changeimage() is called.
Here's my best guess at what you're looking for:
Code:
void changeimage(GtkWidget *widget)
{
count = (count + 1) % 4;
if (count == 3)
{
gtk_widget_queue_draw(widget);
}
}
I'm just guessing based on the 'if (count)==3' in your code that what you want is for the image to change to "first.png" every 4th click. Anyway, let me know if I'm on target!
P.S: please excuse any syntax errors, I work mostly in python, and my C is very rusty.