It does not seem to behave as you said (with root master):
void mott()
{
for (size_t i = 0; i < 10; ++i)
{
auto color = TColor::GetColor (0.0f, 0.0f, 0.0f);
auto color_transparent = TColor::GetColorTransparent (color, 0.0f);
auto free_color_idx = TColor::GetFreeColorIndex ();
std::cout << "color = " << color << " color_transparent = " << color_transparent
<< " free_color_idx = " << free_color_idx << std::endl;
}
}
gives:
root [0] .x mott.C
color = 1 color_transparent = 1179 free_color_idx = 1180
color = 1 color_transparent = 1179 free_color_idx = 1180
color = 1 color_transparent = 1179 free_color_idx = 1180
color = 1 color_transparent = 1179 free_color_idx = 1180
color = 1 color_transparent = 1179 free_color_idx = 1180
color = 1 color_transparent = 1179 free_color_idx = 1180
color = 1 color_transparent = 1179 free_color_idx = 1180
color = 1 color_transparent = 1179 free_color_idx = 1180
color = 1 color_transparent = 1179 free_color_idx = 1180
color = 1 color_transparent = 1179 free_color_idx = 1180
root [1]
Your ROOT version is old. I remember having fixed something like that.