diff --git a/modules/gui/src/python_shell/output_redirector.cc b/modules/gui/src/python_shell/output_redirector.cc index fa72516c4b37b3d70608ba558ea6cd0bff892df4..dcbcd49f7259b00aefbb03b67e1a4b310b791cd3 100644 --- a/modules/gui/src/python_shell/output_redirector.cc +++ b/modules/gui/src/python_shell/output_redirector.cc @@ -22,6 +22,7 @@ Author: Andreas Schenk */ +#include <QTimer> #include "output_redirector.hh" @@ -49,11 +50,15 @@ void OutputRedirector::Write( String const& str ) }else{ buffer_+=QString::fromStdString(str); timer_.start(); + QTimer::singleShot(0, this, SLOT(Flush())); } } void OutputRedirector::Flush() { + if(! timer_.isValid()){ + return; + } timer_=QTime(); QString output = buffer_; buffer_=""; diff --git a/modules/gui/src/python_shell/output_redirector.hh b/modules/gui/src/python_shell/output_redirector.hh index 7a1217297a7ea7113917d3a71d620d723469e77b..aec845cbce0d3a217a9a5d9d0498224f016a8e86 100644 --- a/modules/gui/src/python_shell/output_redirector.hh +++ b/modules/gui/src/python_shell/output_redirector.hh @@ -39,6 +39,7 @@ Q_OBJECT public: OutputRedirector(); void Write(const String& str); +public slots: void Flush(); signals: void OnOutput(const QString& output);