fix(cli/server): Freezing GUI + 11:SIGSEGV error
Description
If there would be need to create a new popup from BECFigure launched from CLI (for example export dialog) the GUI would freeze because QT would be not able to indemnify the objects resulting in error in pyqtgraph
Traceback (most recent call last):
File "/miniforge3/envs/bec_pyqt6/lib/python3.11/site-packages/pyqtgraph/GraphicsScene/GraphicsScene.py", line 542, in showExportDialog
self.exportDialog = exportDialog.ExportDialog(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/miniforge3/envs/bec_pyqt6/lib/python3.11/site-packages/pyqtgraph/GraphicsScene/exportDialog.py", line 30, in __init__
self.ui.setupUi(self)
File "/miniforge3/envs/bec_pyqt6/lib/python3.11/site-packages/pyqtgraph/GraphicsScene/exportDialogTemplate_generic.py", line 39, in setupUi
self.paramTree.setColumnCount(2)
File "/miniforge3/envs/bec_pyqt6/lib/python3.11/site-packages/pyqtgraph/widgets/TreeWidget.py", line 231, in setColumnCount
QtWidgets.QTreeWidget.setColumnCount(self, c)
RuntimeError: wrapped C/C++ object of type ParameterTree has been deletedProcess finished with exit code 139 (interrupted by signal 11:SIGSEGV)
This MR adds a new QT app event loop when launching server to prevent this issue. Additionally it should also fix common error which we had if the BECFigure
is closed outside of the terminal resulting in python error popup.
Related Issues
closes #113 (closed)
Type of Change
-
QApplication
event loop added intocli/server.py
Potential side effects
None