Hi Tom, != { arg aColor; ^((aColor.red != red) && (aColor.blue != blue) && (aColor.green != green) && (aColor.alpha != alpha) ); } This doesn't check for a nil - or any other non-Color object - being passed for comparison. So it would crash with any object that doesn't respond to methods red, blue, green, or alpha. If I remove wslib temporarily, then Color(1.0, 1.0, 1.0) != nil returns true. I'm not clear on the need for this extension, since without wslib the following are correctly returned: Color(1.0, 1.0, 1.0, 1.0) != nil; // returns true Color(1.0, 1.0, 1.0, 1.0) != Color(1.0, 1.0, 1.0, 1.0); // returns false Color(1.0, 1.0, 1.0, 1.0) != Color(0.0, 1.0, 0.0, 1.0); // returns true Color(1.0, 1.0, 1.0, 1.0) != Color(1.0, 0.0, 1.0, 1.0); // returns true Color(1.0, 1.0, 1.0, 1.0) != Color(1.0, 1.0, 0.0, 0.0); // returns true Color(1.0, 1.0, 1.0, 1.0) != Color(1.0, 1.0, 1.0, 0.0); // returns true but I'm probably missing something - Wouter? Cheers, Paul On 5 Dec 2007, at 13:30, Tom Hall wrote:
|