]> git.meshlink.io Git - catta/commitdiff
Adapt to undocumented hack (passing 0:0 in tv to mean "now") that probably got introd...
authorJakub Stachowski <qbast@go2.pl>
Fri, 30 Sep 2005 21:53:04 +0000 (21:53 +0000)
committerJakub Stachowski <qbast@go2.pl>
Fri, 30 Sep 2005 21:53:04 +0000 (21:53 +0000)
This fix is critical for service browsing in all qt apps.

git-svn-id: file:///home/lennart/svn/public/avahi/trunk@667 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe

avahi-qt/qt-watch.cpp

index c0b21402348722b742cbc74563fac4d444a214b0..627d3d98daabf168ffafd7f7ec044bb93282ceec 100644 (file)
@@ -124,15 +124,17 @@ AvahiTimeout::AvahiTimeout(const struct timeval* tv, AvahiTimeoutCallback callba
 void AvahiTimeout::update(const struct timeval *tv)
 {
     m_timer.stop();
-    if (tv) {
-        struct timeval now;
-        gettimeofday(&now, 0);
+    if (tv) 
+       if (tv->tv_sec==0 && tv->tv_usec==0) timeout(); // absolute timeval they say ...
+       else {
+            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);
+            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);
+            m_timer.start((tv->tv_sec-now.tv_sec)*1000+(tv->tv_usec-now.tv_usec)/1000,true);
 #endif
-    }
+        }
 }
 
 void AvahiTimeout::timeout()