From bc57d5a6af12b6dd32249a4be58ef7341d14f675 Mon Sep 17 00:00:00 2001
From: Luke Campagnola <luke.campagnola@gmail.com>
Date: Mon, 24 Mar 2014 11:11:41 -0400
Subject: [PATCH] Minor corrections to debug.Profiler

---
 pyqtgraph/debug.py | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/pyqtgraph/debug.py b/pyqtgraph/debug.py
index b59ee1a9..7836ba90 100644
--- a/pyqtgraph/debug.py
+++ b/pyqtgraph/debug.py
@@ -430,7 +430,7 @@ class Profiler(object):
         try:
             caller_object_type = type(caller_frame.f_locals["self"])
         except KeyError: # we are in a regular function
-            qualifier = caller_frame.f_globals["__name__"].split(".", 1)[1]
+            qualifier = caller_frame.f_globals["__name__"].split(".", 1)[-1]
         else: # we are in a method
             qualifier = caller_object_type.__name__
         func_qualname = qualifier + "." + caller_frame.f_code.co_name
@@ -469,6 +469,7 @@ class Profiler(object):
         if self._delayed:
             self._msgs.append((msg, args))
         else:
+            self.flush()
             print(msg % args)
 
     def __del__(self):
@@ -485,10 +486,13 @@ class Profiler(object):
         self._newMsg("< Exiting %s, total time: %0.4f ms", 
                      self._name, (ptime.time() - self._firstTime) * 1000)
         type(self)._depth -= 1
-        if self._depth < 1 and self._msgs:
+        if self._depth < 1:
+            self.flush()
+        
+    def flush(self):
+        if self._msgs:
             print("\n".join([m[0]%m[1] for m in self._msgs]))
             type(self)._msgs = []
-        
 
 
 def profile(code, name='profile_run', sort='cumulative', num=30):
-- 
GitLab