diff --git a/src/interface/Settings_window.cpp b/src/interface/Settings_window.cpp index 3cf9e5e288de23348e861dd180081e851e2bc098..df8ff8933c9cc522c080f359073896936e67e427 100644 --- a/src/interface/Settings_window.cpp +++ b/src/interface/Settings_window.cpp @@ -208,8 +208,12 @@ void Settings_window::color_changed(string name, QTableWidget *table, const QCol S.add_state_to_palette(name, palette_name, state_name, color, checked ); p->add_state(state_name, color, checked ); //_c->change_entity_color(state_name, color.get_red(), color.get_green(), color.get_blue()); - std::pair<std::string, Color> change(state_name, color); - _states_changes.insert(change); + if(_states_changes.count(state_name)>0) + _states_changes[state_name] = color; + else{ + std::pair<std::string, Color> change(state_name, color); + _states_changes.insert(change); + } return; } @@ -234,9 +238,14 @@ void Settings_window::visible_changed(string name, QTableWidget *table, const bo Color color(qc.red()/255, qc.green()/255, qc.blue()/255); S.add_state_to_palette(name, palette_name, state_name, color, checked ); p->add_state(state_name, color, checked ); + if(_states_visible_changes.count(state_name)>0) + _states_visible_changes[state_name] = checked; + else{ std::pair<std::string, bool> change(state_name, checked); _states_visible_changes.insert(change); + } return; + } void Settings_window::add_table_line(QTableWidget *table, const char *color_slot,