- struct Lisp_Color_Instance *c1 = XCOLOR_INSTANCE (o1);
- struct Lisp_Color_Instance *c2 = XCOLOR_INSTANCE (o2);
- struct device *d1 = DEVICEP (c1->device) ? XDEVICE (c1->device) : 0;
- struct device *d2 = DEVICEP (c2->device) ? XDEVICE (c2->device) : 0;
-
- if (d1 != d2)
- return 0;
- if (!d1 || !HAS_DEVMETH_P (d1, color_instance_equal))
- return EQ (o1, o2);
- return DEVMETH (d1, color_instance_equal, (c1, c2, depth));
+ struct Lisp_Color_Instance *c1 = XCOLOR_INSTANCE (obj1);
+ struct Lisp_Color_Instance *c2 = XCOLOR_INSTANCE (obj2);
+
+ return (c1 == c2) ||
+ ((EQ (c1->device, c2->device)) &&
+ DEVICEP (c1->device) &&
+ HAS_DEVMETH_P (XDEVICE (c1->device), color_instance_equal) &&
+ DEVMETH (XDEVICE (c1->device), color_instance_equal, (c1, c2, depth)));