On Fri, Jul 16, 2010 at 04:11:13PM +0200, Pavel Sanda wrote:
> Enrico Forestieri wrote:
> > On Fri, Jul 16, 2010 at 12:08:21PM +0200, Peter Kümmel wrote:
> > >
> > > void SystemcallPrivate::flush()
> > > {
> > > if (process_) {
> > > // If the output has been redirected, we write it all at once.
> > > // Even if we are not running in a terminal, the output could go
> > > // to some log file, for example ~/.xsession-errors on *nix.
> > >
> > > QString data =
> > > QString::fromLocal8Bit(process_->readAllStandardOutput().data());
> > > ProgressInterface::instance()->appendMessage(data);
> > > if (!use_stdout_ && out_file_.empty())
> > > cout << fromqstr(data);
> > >
> >
> > OK, I see that all of this is now a real big mess. Here data is now always
> > empty, so no output goes to .xsession-errors. This is because the output
> > is now always consumed for the progress interface.
>
> was not the intention that progress shouldn't consume anything unless
> user opened its window?
Even if it was not used by the progress interface, it was anyway read from
QProcess and thrown away.
I have now fixed this, also simplifying things for Windows people, such
that they do not have to learn anything about terminals.
--
Enrico