LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File qt-debug-timer.diff of Package libqt4-sql-plugins (Project KDE:Qt:STABLE)

Index: src/corelib/kernel/qeventdispatcher_unix.cpp
===================================================================
--- src/corelib/kernel/qeventdispatcher_unix.cpp.orig
+++ src/corelib/kernel/qeventdispatcher_unix.cpp
@@ -593,6 +593,21 @@ int QTimerInfoList::activateTimers()
 
         if (!firstTimerInfo) {
             firstTimerInfo = currentTimerInfo;
+            QObject* o = firstTimerInfo->obj;
+            static int debug_timer = -1;
+            if (debug_timer < 0)
+                debug_timer = getenv("QT_DEBUG_TIMER") ? 1 : 0;
+            if (debug_timer > 0) {
+                QString objPath = o->objectName();
+                if(objPath.isEmpty()) objPath = QLatin1String("<") + o->parent()->metaObject()->className() + QLatin1String(">");
+                for (; o->parent(); o = o->parent())
+                    if (!o->parent()->objectName().isEmpty())
+                        objPath.prepend(o->parent()->objectName() + "/");
+                    else
+                        objPath.prepend(QLatin1String("<") + o->parent()->metaObject()->className() + QLatin1String(">/"));
+                qDebug("activating %d ms timer for %s", firstTimerInfo->interval.tv_sec * 1000
+                        + firstTimerInfo->interval.tv_usec / 1000, qPrintable(objPath));
+            }
         } else if (firstTimerInfo == currentTimerInfo) {
             // avoid sending the same timer multiple times
             break;