You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the Bug
This is a bug I discovered while working on #6574 and then forgot to open an issue for. If there is an unconnected SFNode or MFNode field in a proto, no nodes can be inserted into it. The cause appears to be WbNodeUtilities:1514. isParameter() is actually checking that mInternalFields.size() != 0, which is not true for unconnected fields. The fix should be to fix isParameter to work for unconnectedFields. The code will then have to be updated as some methods assume that isParameter() == true => internalFields().size() > 0. However, I haven't yet thought of a good way for determining whether a field is a parameter. So far my thoughts are either: 1) adding another flag, or 2) maybe something like parentNode()->isProtoInstance() (If that doesn't give false positives).
Expected behavior
In this case, all available nodes (that do not require a robot ancestor) should be displayed. If there were any node restrictions on the node, those should also be considered.
System
Operating System: Windows 10
Graphics Card: NVIDIA GTX 1050 Ti
The text was updated successfully, but these errors were encountered:
Describe the Bug
This is a bug I discovered while working on #6574 and then forgot to open an issue for. If there is an unconnected
SFNode
orMFNode
field in a proto, no nodes can be inserted into it. The cause appears to beWbNodeUtilities:1514
.isParameter()
is actually checking thatmInternalFields.size() != 0
, which is not true for unconnected fields. The fix should be to fixisParameter
to work forunconnectedField
s. The code will then have to be updated as some methods assume thatisParameter() == true => internalFields().size() > 0
. However, I haven't yet thought of a good way for determining whether a field is a parameter. So far my thoughts are either: 1) adding another flag, or 2) maybe something likeparentNode()->isProtoInstance()
(If that doesn't give false positives).Steps to Reproduce
node
fieldExpected behavior
In this case, all available nodes (that do not require a robot ancestor) should be displayed. If there were any node restrictions on the node, those should also be considered.
System
The text was updated successfully, but these errors were encountered: