rem: free(scr->workspaces);
add: wfree(scr->workspaces);
context: wWorkspaceDelete(WScreen *scr, int workspace){    WWindow *tmp;    WWorkspace **list;    int i, j;    if (workspace<=0)	return False;    /* verify if workspace is in use by some window */    tmp = scr->focused_window;    while (tmp) {	if (!IS_OMNIPRESENT(tmp) && tmp->frame->workspace==workspace)	    return False;	tmp = tmp->prev;    }    if (!wPreferences.flags.noclip) {        wDockDestroy(scr->workspaces[workspace]->clip);        scr->workspaces[workspace]->clip = NULL;    }        list = wmalloc(sizeof(WWorkspace*)*(scr->workspace_count-1));    j = 0;    for (i=0; i<scr->workspace_count; i++) {	if (i!=workspace)	    list[j++] = scr->workspaces[i];	else {	    if (scr->workspaces[i]->name)		free(scr->workspaces[i]->name);	    free(scr->workspaces[i]);	}    }    free(scr->workspaces);    scr->workspaces = list;    scr->workspace_count--;    /* update menu */    wWorkspaceMenuUpdate(scr, scr->workspace_menu);    /* clip workspace menu */    wWorkspaceMenuUpdate(scr, scr->clip_ws_menu);    /* update also window menu */    if (scr->workspace_submenu) {	WMenu *menu = scr->workspace_submenu;        i = menu->entry_no;        while (i>scr->workspace_count)            wMenuRemoveItem(menu, --i);	wMenuRealize(menu);    }    /* and clip menu */    if (scr->clip_submenu) {        WMenu *menu = scr->clip_submenu;        i = menu->entry_no;        while (i>scr->workspace_count)            wMenuRemoveItem(menu, --i);	wMenuRealize(menu);    }#ifdef GNOME_STUFF    wGNOMEUpdateWorkspaceHints(scr);#endif#ifdef KWM_HINTS    wKWMUpdateWorkspaceCountHint(scr);#endif    if (scr->current_workspace >= scr->workspace_count)	wWorkspaceChange(scr, scr->workspace_count-1);    return True;}