More attempts to stop LS crash

This commit is contained in:
elecpower
2020-09-23 06:37:04 +10:00
parent 12d8d1118f
commit 0922e56f0b
+4 -10
View File
@@ -51,7 +51,6 @@ LogicalSwitchesPanel::LogicalSwitchesPanel(QWidget * parent, ModelData & model,
const int channelsMax = model.getChannelsMax(true);
lock = true;
for (int i = 0; i < lsCapability; i++) {
// The label
QLabel * label = new QLabel(this);
@@ -156,7 +155,6 @@ LogicalSwitchesPanel::LogicalSwitchesPanel(QWidget * parent, ModelData & model,
}
disableMouseScrolling();
lock = false;
tableLayout->resizeColumnsToContents();
tableLayout->pushRowsUp(lsCapability+1);
}
@@ -176,12 +174,11 @@ void LogicalSwitchesPanel::onFunctionChanged()
if (model->logicalSw[i].func == newFunc)
return;
const unsigned oldFunc = model->logicalSw[i].func;
CSFunctionFamily oldFuncFamily = model->logicalSw[i].getFunctionFamily();
model->logicalSw[i].func = newFunc;
CSFunctionFamily newFuncFamily = model->logicalSw[i].getFunctionFamily();
if (oldFuncFamily != newFuncFamily) {
if (oldFuncFamily != newFuncFamily || newFunc == LS_FN_OFF) {
model->logicalSw[i].clear();
model->logicalSw[i].func = newFunc;
if (newFuncFamily == LS_FAMILY_TIMER) {
@@ -345,15 +342,12 @@ void LogicalSwitchesPanel::updateTimerParam(QDoubleSpinBox *sb, int timer, doubl
void LogicalSwitchesPanel::updateLine(int i)
{
lock = true;
unsigned int mask;
unsigned int mask = 0;
cbFunction[i]->setCurrentIndex(cbFunction[i]->findData(model->logicalSw[i].func));
cbAndSwitch[i]->setCurrentIndex(cbAndSwitch[i]->findData(RawSwitch(model->logicalSw[i].andsw).toValue()));
if (model->logicalSw[i].isEmpty()) {
mask = 0;
}
else {
//if (!model->logicalSw[i].isEmpty()) {
mask = LINE_ENABLED | DELAY_ENABLED | DURATION_ENABLED;
switch (model->logicalSw[i].getFunctionFamily())
@@ -423,7 +417,7 @@ void LogicalSwitchesPanel::updateLine(int i)
updateTimerParam(dsbOffset[i], model->logicalSw[i].val2, 0.1);
break;
}
}
//}
cbSource1[i]->setVisible(mask & SOURCE1_VISIBLE);
cbSource2[i]->setVisible(mask & SOURCE2_VISIBLE);