add: rename_main_window(filename, NULL);
context: cb_ok_project(GtkWidget *widget, gpointer data){    char *filename = NULL;    project_list_t *project_list = NULL, *tmp;    int idx;    if (screen.win.project)	filename = (char *)gtk_file_selection_get_filename(GTK_FILE_SELECTION(screen.win.project));    switch ((long)data) {    case OPEN_PROJECT:	project_list = read_project_file(filename);		if (project_list) {	    load_project(project_list);	    /*	     * Save project filename for later use	     */	    if (screen.project)		free(screen.project);	    screen.project = (char *)malloc(strlen(filename) + 1);	    memset((void *)screen.project, 0, strlen(filename) + 1);	    strncpy(screen.project, filename, strlen(filename));	    redraw_pixmap(screen.drawing_area, TRUE);	} else {	    GERB_MESSAGE("Failed to load project\n");	    goto cb_ok_project_end;	}	all_layers_on(NULL, NULL);	break;    case SAVE_AS_PROJECT:	    /*	     * Save project filename for later use	     */	    if (screen.project)		free(screen.project);	    screen.project = (char *)malloc(strlen(filename) + 1);	    memset((void *)screen.project, 0, strlen(filename) + 1);	    strncpy(screen.project, filename, strlen(filename));    case SAVE_PROJECT:	if (!screen.project) {	    GERB_MESSAGE("Missing project filename\n");	    goto cb_ok_project_end;	}	if (screen.path) {	    project_list = (project_list_t *)malloc(sizeof(project_list_t));	    memset(project_list, 0, sizeof(project_list_t));	    project_list->next = project_list;	    project_list->layerno = -1;	    project_list->filename = screen.path;	    project_list->rgb[0] = screen.background->red;	    project_list->rgb[1] = screen.background->green;	    project_list->rgb[2] = screen.background->blue;	    project_list->next = NULL;	}		for (idx = 0; idx < MAX_FILES; idx++) {	    if (screen.file[idx] && screen.file[idx]->name) {		tmp = (project_list_t *)malloc(sizeof(project_list_t));		memset(tmp, 0, sizeof(project_list_t));		tmp->next = project_list;		tmp->layerno = idx;		tmp->filename = screen.file[idx]->name;		tmp->rgb[0] = screen.file[idx]->color->red;		tmp->rgb[1] = screen.file[idx]->color->green;		tmp->rgb[2] = screen.file[idx]->color->blue;		tmp->inverted = screen.file[idx]->inverted;		project_list = tmp;	    }	}	if (write_project_file(screen.project, project_list)) {	    GERB_MESSAGE("Failed to write project\n");	    goto cb_ok_project_end;	}	break;    default:	GERB_FATAL_ERROR("Unknown operation in cb_ok_project\n");    }    /*     * Remember where we loaded file from last time     */    filename = dirname(filename);    if (screen.path)	free(screen.path);    screen.path = (char *)malloc(strlen(filename) + 1);    strcpy(screen.path, filename);    screen.path = strncat(screen.path, "/", 1); cb_ok_project_end:    if (screen.win.project) {	gtk_grab_remove(screen.win.project);    	screen.win.project = NULL;    }    return;} /* cb_ok_project */