Holger Hans Peter Freyther <holger.freyther@trolltech.com>
authorhausmann@webkit.org <hausmann@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 24 Jan 2008 14:52:05 +0000 (14:52 +0000)
committerhausmann@webkit.org <hausmann@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 24 Jan 2008 14:52:05 +0000 (14:52 +0000)
* Fix "QObject::startTimer: QTimer can only be used with threads started with QThread"
* The JSC GCController gets automatically destructed on application exit, it will stop
  its timer and we try to schedule the next timer. Now the GCController can get destructed
  after our QApplication is gone. This will trigger the above warning, we can avoid this
  by checking if our qApp is still around.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29768 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/platform/qt/SharedTimerQt.cpp

index 4b9cd15..c0e7f1f 100644 (file)
@@ -1,3 +1,16 @@
+2008-01-24  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
+
+        Reviewed by Simon.
+
+        * Fix "QObject::startTimer: QTimer can only be used with threads started with QThread"
+        * The JSC GCController gets automatically destructed on application exit, it will stop
+        its timer and we try to schedule the next timer. Now the GCController can get destructed
+        after our QApplication is gone. This will trigger the above warning, we can avoid this
+        by checking if our qApp is still around.
+
+        * platform/qt/SharedTimerQt.cpp:
+        (WebCore::setSharedTimerFireTime):
+
 2008-01-24  Morten Johan Sørvig  <msorvig@trolltech.com>
 
         Reviewed by Simon.
index 95d406b..49f55c1 100644 (file)
@@ -28,6 +28,8 @@
 
 #include "SharedTimerQt.h"
 
+#include <QApplication>
+
 namespace WebCore {
 
 SharedTimerQt* SharedTimerQt::s_self = 0; // FIXME: staticdeleter
@@ -39,6 +41,9 @@ void setSharedTimerFiredFunction(void (*f)())
 
 void setSharedTimerFireTime(double fireTime)
 {
+    if (!qApp)
+        return;
+
     qreal fireTimeMs = (fireTime - currentTime()) * 1000;
     SharedTimerQt::inst()->start(qMax(0, int(fireTimeMs)));
 }