rem: panel->color = color; if (panel->lastChanged != WMHSBModeColorPanel)	 RRGBtoHSV(&panel->color, &panel->hsvcolor);
add: if ((panel->color.red == 0) && (panel->color.green == 0) && (panel->color.blue == 0) && (panel->hsvcolor.hue <= 359)) { originalHue = panel->hsvcolor.hue; RRGBtoHSV(&panel->color, &panel->hsvcolor); panel->hsvcolor.hue = originalHue; } else { RRGBtoHSV(&panel->color, &panel->hsvcolor); } }
context: WMSetColorPanelColor(WMColorPanel *panel, RColor color){	WMScreen	*scr = WMWidgetScreen(panel->win);	WMColor 	*wellcolor;	wellcolor = WMCreateRGBColor(scr, color.red << 8, color.green << 8, color.blue << 8, True);	WMSetColorWellColor(panel->colorWell, wellcolor);	WMReleaseColor(wellcolor);		panel->color = color;	if (panel->lastChanged != WMHSBModeColorPanel)	/* If color was set by HSB-Panel do not convert back to hsv */		RRGBtoHSV(&panel->color, &panel->hsvcolor);}