@@ -84,6 +84,7 @@ ProControllerStateRow::~ProControllerStateRow(){
8484ProControllerStateRow::ProControllerStateRow (EditableTableOption& parent_table)
8585 : ControllerStateRow(parent_table)
8686 , DURATION(LockMode::LOCK_WHILE_RUNNING, " 200 ms" )
87+ , ACTION(false , LockMode::UNLOCK_WHILE_RUNNING, " " , " " )
8788 , BUTTONS(
8889 " " ,
8990 ProController_Button_Database (),
@@ -99,7 +100,6 @@ ProControllerStateRow::ProControllerStateRow(EditableTableOption& parent_table)
99100 , LEFT_JOYSTICK_Y(LockMode::UNLOCK_WHILE_RUNNING, 128 , 0 , 255 )
100101 , RIGHT_JOYSTICK_X(LockMode::UNLOCK_WHILE_RUNNING, 128 , 0 , 255 )
101102 , RIGHT_JOYSTICK_Y(LockMode::UNLOCK_WHILE_RUNNING, 128 , 0 , 255 )
102- , ACTION(false , LockMode::UNLOCK_WHILE_RUNNING, " " , " " )
103103{
104104 PA_ADD_OPTION (DURATION);
105105 PA_ADD_OPTION (ACTION);
@@ -110,6 +110,8 @@ ProControllerStateRow::ProControllerStateRow(EditableTableOption& parent_table)
110110 PA_ADD_OPTION (RIGHT_JOYSTICK_X);
111111 PA_ADD_OPTION (RIGHT_JOYSTICK_Y);
112112
113+ ACTION.set_locked (true );
114+
113115 ProControllerStateRow::on_config_value_changed (this );
114116 DURATION.add_listener (*this );
115117 BUTTONS.add_listener (*this );
@@ -138,9 +140,14 @@ void ProControllerStateRow::load_json(const JsonValue& json){
138140 const JsonObject& obj = json.to_object_throw ();
139141
140142 do {
141- const std::string* duration = obj.get_string (" ms" );
142- if (duration != nullptr ){
143- DURATION.load_json (*duration);
143+ uint64_t duration;
144+ if (obj.read_integer (duration, " ms" )){
145+ DURATION.set (std::to_string (duration));
146+ break ;
147+ }
148+ const std::string* duration_str = obj.get_string (" ms" );
149+ if (duration_str != nullptr ){
150+ DURATION.load_json (*duration_str);
144151 break ;
145152 }
146153 DURATION.set (std::to_string (obj.get_integer_throw (" duration_in_ms" )));
0 commit comments