From 6d8877417467bb2af673735dd0fff16d72473190 Mon Sep 17 00:00:00 2001
From: andreas <andreas@5a81b35b-ba03-0410-adc8-b2c5c5119f08>
Date: Wed, 21 Jul 2010 18:28:26 +0000
Subject: [PATCH] fix for missing output from PyQt slots in python shell

git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2581 5a81b35b-ba03-0410-adc8-b2c5c5119f08
---
 modules/gui/src/python_shell/output_redirector.cc | 5 +++++
 modules/gui/src/python_shell/output_redirector.hh | 1 +
 2 files changed, 6 insertions(+)

diff --git a/modules/gui/src/python_shell/output_redirector.cc b/modules/gui/src/python_shell/output_redirector.cc
index fa72516c4..dcbcd49f7 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 7a1217297..aec845cbc 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);
-- 
GitLab