Fixes several issues in Locallab GUI

- Log Encoding cannot be added to RT-spot
- RT crashes when "duplicate" or "delete" button is used without RT-spot
This commit is contained in:
Pandagrapher
2020-04-17 11:48:10 +02:00
parent 78ce750145
commit 9013700382
2 changed files with 11 additions and 4 deletions

View File

@@ -554,10 +554,16 @@ void ControlSpotPanel::on_button_delete()
} }
// Raise event // Raise event
const int selIndex = getSelectedSpot();
if (selIndex == -1) { // No selected spot to remove
return;
}
nbSpotChanged_ = true; nbSpotChanged_ = true;
selSpotChanged_ = true; selSpotChanged_ = true;
eventType = SpotDeletion; eventType = SpotDeletion;
SpotRow* const delSpotRow = getSpot(getSelectedSpot()); SpotRow* const delSpotRow = getSpot(selIndex);
listener->panelChanged(EvLocallabSpotDeleted, delSpotRow->name); listener->panelChanged(EvLocallabSpotDeleted, delSpotRow->name);
} }
@@ -570,16 +576,16 @@ void ControlSpotPanel::on_button_duplicate()
} }
// Raise event // Raise event
const int selId = getSelectedSpot(); const int selIndex = getSelectedSpot();
if (selId == 0) { // No selected spot to duplicate if (selIndex == -1) { // No selected spot to duplicate
return; return;
} }
nbSpotChanged_ = true; nbSpotChanged_ = true;
selSpotChanged_ = true; selSpotChanged_ = true;
eventType = SpotDuplication; eventType = SpotDuplication;
SpotRow* const duplSpotRow = getSpot(getSelectedSpot()); SpotRow* const duplSpotRow = getSpot(selIndex);
listener->panelChanged(EvLocallabSpotCreated, M("TP_LOCALLAB_EV_DUPL") + " " listener->panelChanged(EvLocallabSpotCreated, M("TP_LOCALLAB_EV_DUPL") + " "
+ duplSpotRow->name); + duplSpotRow->name);
} }

View File

@@ -197,6 +197,7 @@ Locallab::Locallab():
addTool(toolpanel, expcontrast); addTool(toolpanel, expcontrast);
addTool(toolpanel, expcbdl); addTool(toolpanel, expcbdl);
addTool(toolpanel, expdenoi); addTool(toolpanel, expdenoi);
addTool(toolpanel, explog);
panel->pack_start(*toolpanel, false, false); panel->pack_start(*toolpanel, false, false);
// Add separator // Add separator