doSelect() loops over document's object vector. It can happen that, within
the loop, Gui::Selection().addSelection() gets called and that ends up
calling App::Document::addObject() which pushes an object to the vector that
the loop is traversing. If the vector is full, its storage is reallocated
and this means that later iterations of the loop are using invalid iterators.
Thus, one ends up with a bogus obj pointer and there will be a crash within
getGroupOfObject(). The problem was observed when using Arch Survey.
The line `t = t.encode("utf8")` returns a bytes object which does not make sense in the context of the rest of the code. It is probably a copy-paste error.
To test the bug:
1. open the file attached to this forum post: https://forum.freecad.org/viewtopic.php?t=89012#p770224
2. Make the rectangles visible.
3. Start the Survey command and box select all objects in the 3D view.
This boiled down to conflict of using `data` attribute of the QAction in
ActionGroup and ToolBarManager. I reworked ActionGroup here to not use
the data attribute but this is not a proper solution - but it should be
working well enough.
Proper solution would be to leave the data for the specific usecases (like index)
and store the command name in some other place. It would however require
us to subclass the QAction which is not something that should be done so
late in the release cycle.
* Replace TopoShape::getValue() with TopoShape::getShape() to test the size of element maps
* Update the expected values
Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
fix warning: variable 'j'and 'i' is not initialized
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Update ViewProviderFemMesh.cpp
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Python is not provided with debug libraries, so debug builds are not possible.
Building as RelWithDebInfo will build debug information for the binary, while
using the available release libraries.
At least on macOS, it seems that setting nontrivial shortcuts only works
when the shortcut is converted to `PortableText`, rather than
`NativeText`.
Before, it was impossible to map, eg, the backspace key or CMD-T to an
action. Now this appears to work.
If in the user settings the refinement is switched off several PD tests will fail. This change explicitly sets the Refine property to True to guarantee correct behaviour
With PR #14460 the "machinability" model was introduced. As sample data
the legacy material cards from the "feeds and speeds" addon were added
and (partly) converted to the new format. However, due to copyright
concerns and unclear semantics of the data, the values required for
cutting force calculations have been removed.
This commits adds material cards with complete machining model data
for various classes of metals. The data comes from the German standard
work "Tabellenbuch Zerspantechnik", ISBN 978-3-7585-1315-2, 5. Edition
2022, http://www.europa-lehrmittel.de/14733
Usage of this data for our purpose is legal as facts are not protected by
copyright according to German law. This view has been confirmed by the
licensing department of the publisher.