Sketcher: Work-around for expression engine failure to calculate dependencies

=============================================================================

THIS IS A WORK-AROUND NOT TO DELAY 0.19 RELEASE

depsAreTouched is not returning true in this case:
 https://forum.freecadweb.org/viewtopic.php?f=3&t=55633&p=481061#p478477

It appears related to a drastic change in how dependencies are calculated, see:
 https://forum.freecadweb.org/viewtopic.php?f=3&t=55633&p=481061#p481061

This is NOT the solution, as there is no point in systematically executing the ExpressionEngine
on every dimensional constraint change. Just a quick fix to avoid clearly unwanted behaviour in
absence of time to actually fix the root cause.
This commit is contained in:
Abdullah Tahiri
2021-02-23 07:40:56 +01:00
parent 8a0d0236dc
commit 7659bb0dae

View File

@@ -195,10 +195,22 @@ void EditDatumDialog::accepted()
Gui::Command::commitCommand();
if (sketch->noRecomputes && sketch->ExpressionEngine.depsAreTouched()) {
// THIS IS A WORK-AROUND NOT TO DELAY 0.19 RELEASE
//
// depsAreTouched is not returning true in this case:
// https://forum.freecadweb.org/viewtopic.php?f=3&t=55633&p=481061#p478477
//
// It appears related to a drastic change in how dependencies are calculated, see:
// https://forum.freecadweb.org/viewtopic.php?f=3&t=55633&p=481061#p481061
//
// This is NOT the solution, as there is no point in systematically executing the ExpressionEngine
// on every dimensional constraint change. Just a quick fix to avoid clearly unwanted behaviour in
// absence of time to actually fix the root cause.
//if (sketch->noRecomputes && sketch->ExpressionEngine.depsAreTouched()) {
sketch->ExpressionEngine.execute();
sketch->solve();
}
//}
tryAutoRecompute(sketch);
}