]> git.meshlink.io Git - catta/blobdiff - avahi-qt/qt-watch.cpp
Minor cleanups
[catta] / avahi-qt / qt-watch.cpp
index 627d3d98daabf168ffafd7f7ec044bb93282ceec..2426798a3c0d9ec47b0f362b3454bb23746165a3 100644 (file)
@@ -124,17 +124,14 @@ AvahiTimeout::AvahiTimeout(const struct timeval* tv, AvahiTimeoutCallback callba
 void AvahiTimeout::update(const struct timeval *tv)
 {
     m_timer.stop();
-    if (tv) 
-       if (tv->tv_sec==0 && tv->tv_usec==0) timeout(); // absolute timeval they say ...
-       else {
-            struct timeval now;
-           gettimeofday(&now, 0);
+    if (tv) {
+    AvahiUsec u = avahi_age(tv)/1000;
 #ifdef QT4
-            m_timer.start((tv->tv_sec-now.tv_sec)*1000+(tv->tv_usec-now.tv_usec)/1000);
+    m_timer.start( (u>0) ? 0 : -u);
 #else
-            m_timer.start((tv->tv_sec-now.tv_sec)*1000+(tv->tv_usec-now.tv_usec)/1000,true);
+    m_timer.start( (u>0) ? 0 : -u,true);
 #endif
-        }
+    }
 }
 
 void AvahiTimeout::timeout()