]> git.meshlink.io Git - catta/blobdiff - avahi-qt/qt-watch.cpp
Timeout should be called only once and then disable itself
[catta] / avahi-qt / qt-watch.cpp
index 3b8ebceb1506b7949e13813f56192e54eb3467eb..c0b21402348722b742cbc74563fac4d444a214b0 100644 (file)
@@ -115,6 +115,9 @@ AvahiTimeout::AvahiTimeout(const struct timeval* tv, AvahiTimeoutCallback callba
     m_callback(callback), m_userdata(userdata)
 {
     connect(&m_timer, SIGNAL(timeout()), this, SLOT(timeout()));
+#ifdef QT4
+    m_timer.setSingleShot(true);
+#endif
     update(tv);
 }
 
@@ -124,7 +127,11 @@ void AvahiTimeout::update(const struct timeval *tv)
     if (tv) {
         struct timeval now;
         gettimeofday(&now, 0);
+#ifdef QT4
         m_timer.start((tv->tv_sec-now.tv_sec)*1000+(tv->tv_usec-now.tv_usec)/1000);
+#else
+        m_timer.start((tv->tv_sec-now.tv_sec)*1000+(tv->tv_usec-now.tv_usec)/1000,true);
+#endif
     }
 }