Because is_gui_thread always returns True, any callable passed to gui_thread_schedule[_async] will actually be run on caller thread
I had an issue with deadlocking after some Qt objects were created with parents on worker threads because of this. Ideally the test cases would also run through the start_management init path.
start_management
, instead creating MainWindow directly https://github.com/angr/angr-management/blob/5872bcd0f5487b22590124ea4e8c459bc26af86f/tests/test_workflow.py#L16GlobalInfo.gui_thread
is never set (bystart_management
), sois_gui_thread
always returnsTrue
https://github.com/angr/angr-management/blob/5872bcd0f5487b22590124ea4e8c459bc26af86f/angrmanagement/logic/threads.py#L126is_gui_thread
always returnsTrue
, any callable passed togui_thread_schedule[_async]
will actually be run on caller threadstart_management
init path.