Andreas, > > There is this example which explicitly drives Qt using HPX's > > main_pool_executor: > > https://github.com/STEllAR-GROUP/hpx/tree/master/examples/qt. > > Wow, thanks a lot for your quick help and reply. But the example is > confusing me a bit. > > The main problem when using a parallel system and Qt is that most member > functions of widgets must not be called from a thread other than the > main thread (GUI-thread). So when a thread other than the main thread > wants to trigger some GUI change, it has to communicate with the GUI > thread and the GUI thread then does the GUI change. > > This principle is ignored in the example: In the example [1], an HPX > thread calls widget::add_label which in turn calls QListWidget::addItem. > I think this should not happen, even when protected with a mutex-lock. > > I modified the code to be correct in my understanding: The widget has > now two threadsafe interface functions: threadsafe_add_label and > threadsafe_run_finished, both of which do not interact with GUI objects. > They might be called from any thread. They in turn schedule the > execution of corresponding functions within the GUI thread. > > Would you agree? I am not a GUI expert, so I'm not sure about my solution. > I created a pull request [2]. Feel free to accept or reject...
Thanks for this fix. I don't know anything about Qt but your patch looks sane to me. Thomas might know more, he wrote the example in the first place. Regards Hartmut --------------- http://boost-spirit.com http://stellar.cct.lsu.edu > > best regards, > Andreas > > > [1] > https://github.com/STEllAR- > GROUP/hpx/blob/2ec00bc39b5d384aeda7cdb58a893680a057e2d2/examples/qt/widget > .cpp#L53 > > [2] > https://github.com/STEllAR-GROUP/hpx/pull/3051 _______________________________________________ hpx-users mailing list [email protected] https://mail.cct.lsu.edu/mailman/listinfo/hpx-users
