After pull request https://github.com/FreeCAD/FreeCAD/pull/4215 it
doesn't make much sense helping the user to write expressions without
leading '=', as that content will be parsed as a string.
This change adjusts the behaviour in SpreadsheetGui's LineEdit to avoid
popping up the ExpressionCompleter when no leading equal sign is used.
There are no reason to check the return values for these functions
as the string passed as an argument will be set to an empty string
if it false. An empty string is a valid option in these instances.
Coverity warnings fixed:
CID 316520 (1 of 1): Unchecked return value (CHECKED_RETURN)
3. check_return: Calling getAlias without checking return value (as is done elsewhere 8 out of 10 times).
CID 316557 (1 of 1): Unchecked return value (CHECKED_RETURN)
8. check_return: Calling getAlias without checking return value (as is done elsewhere 8 out of 10 times).
VectorListEditor allows row-by-row creation of a list of three-component
vector values. Values are manipulated using spinboxes. The previous behavior
was that the spinboxes only affected the existing rows: when creating a row
the contents of the spinboxes were ignored. This commit modifies that behavior
so that a new row gets the contents of the spinboxes. In addition, in the original
code the "Accept" button was enabled even when there was no row to edit, making
it unclear whether a user needed to click the add row button or the accept
button. Clicking the accept button did nothing if there was no existing row,
and if compiled in debug mode, an assertion was raised.
As reported by @donovaly, if you try to move a pipe that does not have
an auxilliary spine, the code segfaults. This commit adds a check to ensure
that not only does the property exist (which in this case it always does), but
also that it does not contain a null. That is a valid value for the property
to have, but cannot be itself interrogated for moveability by the isFeatureMovable
recursive call. This fix is also applied to the other similar conditions in that
function to ensure they never yield the same segmentation fault.
Forums topic: https://forum.freecadweb.org/viewtopic.php?p=479388#p479388
===========================================================================================================
OCCT forces weights of non-rationa Bsplines to be 1.0
In the presence of non-unitary weight constraints, the weight representation (constraint) has a different radius
than the circle.
This commit fixes this behaviour, by forcing the circle to match the weight constraint.
The information layer still reports OCCT weights being 1.0, but the visual artifact is fixed.
================================================
If during assignment of weights (during the for loop iteratively setting the poles) all weights
become (temporarily) equal even though weights does not have equal values
OCCT will convert all the weights (the already assigned and those not yet assigned)
to 1.0 (nonrational b-splines have 1.0 weights). This may lead to the assignment of wrong
of weight values.
The work-around is to temporarily set the last weight to be assigned to a value different from
the current value and the to-be-assigned value for the weight at position last-to-be-assign but one.
Fixes:
https://forum.freecadweb.org/viewtopic.php?p=478701#p478702
All of the TechDraw ISO7200_Pep templates so that the DOCUMENT_TYPE area is
fully editable, allowing the user to overwrite the default contents entirely
instead of just adding to it.