rem: else
add: } else { free(screen.file[screen.curr_index]->color);
context: color_selection_ok(GtkWidget *widget, gpointer data){    int background = (int)data;    GtkColorSelection *colorsel;    gdouble color[4];    GtkStyle *oldstyle, *newstyle;    /* Get selected color */    colorsel = GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG				   (screen.color_selection_popup)->colorsel);    gtk_color_selection_get_color(colorsel, color);    /* Allocate new color  */    if (background)	screen.background = 	    alloc_color((int)(color[0] * MAX_COLOR_RESOLUTION),			(int)(color[1] * MAX_COLOR_RESOLUTION),			(int)(color[2] * MAX_COLOR_RESOLUTION),			NULL);    else	screen.file[screen.curr_index]->color = 	    alloc_color((int)(color[0] * MAX_COLOR_RESOLUTION), 			(int)(color[1] * MAX_COLOR_RESOLUTION), 			(int)(color[2] * MAX_COLOR_RESOLUTION), 			NULL);    /* Redraw image on screen */    redraw_pixmap(screen.drawing_area);    /* Change color on button too */    if (!background) {	oldstyle = gtk_widget_get_style(screen.layer_button[screen.curr_index]);	newstyle = gtk_style_copy(oldstyle);	newstyle->bg[GTK_STATE_NORMAL] = *(screen.file[screen.curr_index]->color);	newstyle->bg[GTK_STATE_ACTIVE] = *(screen.file[screen.curr_index]->color);	newstyle->bg[GTK_STATE_PRELIGHT] = *(screen.file[screen.curr_index]->color);	gtk_widget_set_style(screen.layer_button[screen.curr_index], newstyle);    }    /* Remove modal grab and destroy color selection dialog */    gtk_grab_remove(screen.color_selection_popup);    gtk_widget_destroy(screen.color_selection_popup);    screen.color_selection_popup = NULL;    return;} /* cb_ok_color_selection */