KProcess bug or something wrong in kdevelop?
apaku at gmx.de
Thu Nov 9 16:18:15 GMT 2006
On 09.11.06 16:22:25, Thiago Macieira wrote:
> Andreas Pakulat wrote:
> >Huh? ok, I'll elaborate a bit. We're in kdevelop. I open a qmake based
> >project, which tells the QMake manager to open the top-level .pro file
> >and parse it. After the parsing I need to do some initilazing and read
> >referenced .pro files. This also means I have to evaluate the variables
> >that exist. Now here's where I need the output from that qmake run,
> >because that's the only way to get the "default values" of some
> >variables, like CONFIG or QT properly. All this loading/initializing is
> >done synchronously, i.e. it starts in an openProject function which then
> >calls another function and so on. Right after the initializing is done I
> >create a gui element from the data to represent the top-level .pro file.
> >In turn this creates all children and so on.
> >I really see no way to run qmake as separate process without blocking.
> I do. Run it synchronously without blocking. At least the UI won't freeze.
> You should start the process asynchronously and wait for a signal that
> indicates it has finished running. Only then should you parse the
> generated files and call openProject.
I have no control over the openProject call, it's done by kdevelop after
reading the kdevelop project file.
Maybe I can delay the rest a bit...
Still I don't think this is expected behaviour of KProcess and the docs
explicitly state that I can read stderr/stdout with KProcess::Block.
You will have a long and unpleasant discussion with your supervisor.
More information about the kde-core-devel