Thanks to Craig Jacobs for reporting this bug; it didn't happen in 2.2 and before and was caused by evaluation of PyObject_HasAttrString(value,"red") && PyObject_HasAttrString(value,"green") && PyObject_HasAttrString(value,"blue") with the python error flag set. -- Robin Becker