]> git.meshlink.io Git - catta/commitdiff
Better fix for negative timeout problem.
authorJakub Stachowski <qbast@go2.pl>
Sat, 1 Oct 2005 20:34:56 +0000 (20:34 +0000)
committerJakub Stachowski <qbast@go2.pl>
Sat, 1 Oct 2005 20:34:56 +0000 (20:34 +0000)
git-svn-id: file:///home/lennart/svn/public/avahi/trunk@669 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe

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()