fix pardef issues

- 'geterror' property is not deleted in some cases
This commit is contained in:
2022-05-19 14:15:22 +02:00
parent f16d738b4a
commit c9c93a9d7d

View File

@ -1315,6 +1315,7 @@ void ParUpdateNode(hdbValue value) {
} else {
/* bare object (parameter "") */
node = ctx->obj->node;
ctx->par->node = node;
snprintf(sicscommand, sizeof sicscommand, "%s = ", ctx->obj->name);
}
SetHdbProperty(node, "sicscommand", sicscommand);
@ -1331,6 +1332,7 @@ void ParUpdateNode(hdbValue value) {
SetHdbProperty(node, "visible", "false");
}
}
if (GetHdbProp("geterror")) skip_unchanged = 0;
switch (value.dataType) {
case HIPFLOAT:
if (value.v.doubleValue == PAR_NAN) {
@ -1355,7 +1357,7 @@ void ParUpdateNode(hdbValue value) {
if (skip_unchanged && node->value.v.intValue == value.v.intValue) return;
break;
case HIPTEXT:
if (strcmp(node->value.v.text, value.v.text) == 0) return;
if (skip_unchanged && strcmp(node->value.v.text, value.v.text) == 0) return;
break;
default:
return;
@ -1708,6 +1710,9 @@ void ParKill(void *object)
p = o->infoList;
while (p) {
q = p->next;
if (p->node == o->node) {
p->node = NULL; /* avoid removing the object node, this is done below */
}
ParKillThisPar(p);
p = q;
}