From ee4ab29edd9a7257962444d001283d4ae69c5fbb Mon Sep 17 00:00:00 2001 From: Jakub Stachowski Date: Fri, 30 Sep 2005 21:53:04 +0000 Subject: Adapt to undocumented hack (passing 0:0 in tv to mean "now") that probably got introduced in dbus update. 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 | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'avahi-qt') diff --git a/avahi-qt/qt-watch.cpp b/avahi-qt/qt-watch.cpp index c0b2140..627d3d9 100644 --- a/avahi-qt/qt-watch.cpp +++ b/avahi-qt/qt-watch.cpp @@ -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() -- cgit