summaryrefslogtreecommitdiff
path: root/src/company_gui.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/company_gui.cpp')
-rw-r--r--src/company_gui.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/company_gui.cpp b/src/company_gui.cpp
index 6804e98d1..654eb94e6 100644
--- a/src/company_gui.cpp
+++ b/src/company_gui.cpp
@@ -781,7 +781,8 @@ public:
virtual void OnDropdownSelect(int widget, int index)
{
for (LiveryScheme scheme = LS_DEFAULT; scheme < LS_END; scheme++) {
- if (HasBit(this->sel, scheme)) {
+ /* Changed colour for the selected scheme, or all visible schemes if CTRL is pressed. */
+ if (HasBit(this->sel, scheme) || (_ctrl_pressed && _livery_class[scheme] == this->livery_class && HasBit(_loaded_newgrf_features.used_liveries, scheme))) {
DoCommandP(0, scheme | (widget == WID_SCL_PRI_COL_DROPDOWN ? 0 : 256), index, CMD_SET_COMPANY_COLOUR);
}
}