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. This means that we
cannot differentiate between output for GUI and output for terminal.
I am only sorry for having spent a certain amount of time for designing
the old behavior, an error that I'll try to not repeat in future.
--
Enrico