diff --git a/src/gfx_layout.h b/src/gfx_layout.h
index c8f563591..6a1c62a67 100644
--- a/src/gfx_layout.h
+++ b/src/gfx_layout.h
@@ -36,8 +36,8 @@ struct FontState {
std::stack<TextColour, std::vector<TextColour>> colour_stack; ///< Stack of colours to assist with colour switching.
- FontState() : fontsize(FS_END), cur_colour(TC_INVALID) {}
- FontState(TextColour colour, FontSize fontsize) : fontsize(fontsize), cur_colour(colour) {}
+ FontState() : fontsize(FS_END), cur_colour(TC_INVALID), fixed_colour(false) {}
+ FontState(TextColour colour, FontSize fontsize) : fontsize(fontsize), cur_colour(colour), fixed_colour(colour != TC_FROMSTRING) {}
/**
* Switch to new colour \a c.
@@ -46,6 +46,7 @@ struct FontState {
inline void SetColour(TextColour c)
{
assert(c >= TC_BLUE && c <= TC_BLACK);
+ if (fixed_colour) return;
this->cur_colour = c;
}
@@ -75,6 +76,9 @@ struct FontState {
{
this->fontsize = f;
}
+
+protected:
+ bool fixed_colour;
};
/**
diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp
index 536f6da58..ea96ad8a5 100644
--- a/src/industry_gui.cpp
+++ b/src/industry_gui.cpp
@@ -1392,7 +1392,7 @@ public:
break;
}
for (uint i = this->vscroll->GetPosition(); i < this->industries.size(); i++) {
- DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, this->GetIndustryString(this->industries[i]));
+ DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, this->GetIndustryString(this->industries[i]), TC_GREEN);
y += this->resize.step_height;
if (++n == this->vscroll->GetCapacity()) break; // max number of industries in 1 window