diff --git a/src/color_range.cpp b/src/color_range.cpp index 0e8426e647f..b3dd5889544 100644 --- a/src/color_range.cpp +++ b/src/color_range.cpp @@ -22,25 +22,22 @@ std::vector string2rgb(std::string s){ std::vector out; std::vector rgb_vec = utils::split(s); + + while(rgb_vec.size()%3) { + rgb_vec.push_back("0"); + } + std::vector::iterator c=rgb_vec.begin(); int r,g,b; while(c!=rgb_vec.end()){ r = (lexical_cast_default(*c)); c++; - if(c != rgb_vec.end()){ - g = (lexical_cast_default(*c)); - }else{ - g=0; - } + g = (lexical_cast_default(*c)); c++; - if(c != rgb_vec.end()){ - b=(lexical_cast_default(*c)); - }else{ - b=0; - } + b=(lexical_cast_default(*c)); c++; - out.push_back((Uint32) ((r<<16 & 0x00FF0000) + (g<<8 & 0x0000FF00) + (b & 0x000000FF))); + out.push_back((Uint32) ((r<<16 & 0x00FF0000) + (g<<8 & 0x0000FF00) + (b & 0x000000FF))); } return(out); }