From 1b2ca817edc9350e572b76d667fcce49e3b4d285 Mon Sep 17 00:00:00 2001 From: Thibault Soucarre <thibault.soucarre@inria.fr> Date: Thu, 28 Aug 2014 12:23:42 +0000 Subject: [PATCH] correct a bug when changing color/visible many times before using apply button --- src/interface/Settings_window.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/interface/Settings_window.cpp b/src/interface/Settings_window.cpp index 3cf9e5e2..df8ff893 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, -- GitLab