ROOT GUI program freeze

I think this is a matter of proper coding a root GUI application. I encounter a following problem. I have a ROOT GUI compiled program running on linux. The problem is, that if I make my program do something time consuming, like a time consuming fit, the whole gui is not accessible. I mean not only the app gui, but whole system gui. Other processes run in background (like clock :wink: ), but I simply cannot click anything until the root task is over.

While such things should not happen at all in a GUI environment and I think that is a kind of Xfree bug, I have a question, what is a proper way to call time-consuming tasks from a ROOT GUI program. For sure I could create a separate thread for each task, but it is not very convenient to create a separate function for all menu entries, most of them just containing “histo->Fit(…)” :slight_smile:

I’d be glad for any clues.

Hi,

Try to add gSystem->ProcessEvents(); in your time consuming loop.

Cheers, Bertrand.

So simple. Helped! Thanks :slight_smile:

You’re welcome :slight_smile: