Commit af1cbc6f authored by Brion Vibber's avatar Brion Vibber

Fix ticket #2181: Can't save #000000 (black) in color fields on design page

It seems to have actually been saving correctly, but the update of the colors on the form success page wasn't working properly.
When a design object is pulled out of the database, the numeric fields are read in as strings, so black comes back as "0".
But, when we populate the new object and then stick it live, we've populated it with actual integers; with memcache on these might live for a while in the cache...

The fallback code in Design::toWebColor() did a check ($color == null) which would be false for the string "0", but counts as true for the *integer* 0.
Thus, the display code would initially interpret the correctly-saved black color as "use default".

Changing the check to === against null and "" empty string avoids the false positive on integers, and lets us see our nice black text immediately after save.
parent 6e894c01
......@@ -107,7 +107,7 @@ class Design extends Memcached_DataObject
static function toWebColor($color)
{
if ($color == null) {
if ($color === null || $color === '') {
return null;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment