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
When trying to write to an IInteger node that defines a range larger than int32 (via the Attribute Controller window), the GUI will crash as soon as you double click the field where the value is to be filled in. I found this in an Integer node that defines the following range:
WARNING: Traceback (most recent call last):
File "XXX/lib/python3.8/site-packages/harvesters_gui/_private/frontend/pyqt5/feature_tree.py", line 339, in createEditor
w.setRange(feature.min, feature.max)
OverflowError: argument 2 overflowed: value must be in the range -2147483648 to 2147483647
Aborted (core dumped)
To Reproduce
Steps to reproduce the behavior:
Start harvesters GUI, connect to a camera with an IInteger node with range > int32
Open the Attribute Controller window
Go to the troublesome IInteger node and double click the value, such that you can write your own value
Crash on the double click (never get a chance to input a value)
Expected behavior
No crash, expecting compatibility with 64-bit int
Desktop:
OS: Ubuntu 20
Version: 1.3.8
Additional information
The problem is that the QSpinBox object used in the GUI is limited to int32: https://doc.qt.io/qt-5/qspinbox.html#maximum-prop but per the GenICam standard (I'm looking at v2.1.1) an integer node its range is 64-bits.
The text was updated successfully, but these errors were encountered:
Hey. I have tested your changes and indeed they fix this issue! Wonderful.
Note: there are some differences though. Currently, the box refuses to have non-numeric characters in the box and it also doesn't allow setting the box empty (it keeps the previous value when the box is made empty and enter is pressed).
With the changes the harvesters-gui crashes instead for such cases, with:
WARNING: Traceback (most recent call last):
File "XXX/lib/python3.8/site-packages/harvesters_gui/_private/frontend/pyqt5/feature_tree.py", line 400, in setModelData
data = editor.value()
File "XXX/lib/python3.8/site-packages/harvesters_gui/_private/frontend/pyqt5/big_int_spinbox.py", line 41, in value
return int(self.lineEdit.text())
ValueError: invalid literal for int() with base 10: ''
Yeah, the changes in this commit are probably still a bit rough and need a bit more rigor. I'll try to look at the additional issues found with your testing... appreciate you flagging these.
Describe the bug
When trying to write to an IInteger node that defines a range larger than int32 (via the Attribute Controller window), the GUI will crash as soon as you double click the field where the value is to be filled in. I found this in an Integer node that defines the following range:
The crash message is:
To Reproduce
Steps to reproduce the behavior:
Expected behavior
No crash, expecting compatibility with 64-bit int
Desktop:
Additional information
The problem is that the QSpinBox object used in the GUI is limited to int32: https://doc.qt.io/qt-5/qspinbox.html#maximum-prop but per the GenICam standard (I'm looking at v2.1.1) an integer node its range is 64-bits.
The text was updated successfully, but these errors were encountered: