rem: if (file[0]==0) {
add: if (file && *file==0) {
context: setIconCallback(WMenu *menu, WMenuEntry *entry){    WAppIcon *icon = ((WApplication*)entry->clientdata)->app_icon;    char *file=NULL;    WScreen *scr;    int result;    assert(icon!=NULL);    if (icon->editing)	return;    icon->editing = 1;    scr = icon->icon->core->screen_ptr;    wretain(icon);    result = wIconChooserDialog(scr, &file, icon->wm_instance, icon->wm_class);    if (result && !icon->destroyed) {	if (file[0]==0) {	    wfree(file);	    file = NULL;	}	if (!wIconChangeImageFile(icon->icon, file)) {	    wMessageDialog(scr, _("Error"),			   _("Could not open specified icon file"),			   _("OK"), NULL, NULL);	} else {	    wDefaultChangeIcon(scr, icon->wm_instance, icon->wm_class, file);	    wAppIconPaint(icon);	}	if (file)	    wfree(file);    }    icon->editing = 0;    wrelease(icon);}