qtimerinfo_unix.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/corelib/kernel/qtimerinfo_unix.cpp
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9-
10-
11__attribute__((visibility("default"))) bool qt_disable_lowpriority_timers=false;-
12-
13-
14-
15-
16-
17-
18QTimerInfoList::QTimerInfoList()-
19{-
20-
21 if (!QElapsedTimer::isMonotonic()) {-
22-
23 previousTime = qt_gettime();-
24-
25 tms unused;-
26 previousTicks = times(&unused);-
27-
28 ticksPerSecond = sysconf(_SC_CLK_TCK);-
29 msPerTick = 1000/ticksPerSecond;-
30 } else {-
31-
32 previousTime.tv_sec = previousTime.tv_nsec = 0;-
33 previousTicks = 0;-
34 ticksPerSecond = 0;-
35 msPerTick = 0;-
36 }-
37-
38-
39 firstTimerInfo = 0;-
40}-
41-
42timespec QTimerInfoList::updateCurrentTime()-
43{-
44 return (currentTime = qt_gettime());-
45}-
46-
47-
48-
49timespec qAbsTimespec(const timespec &t)-
50{-
51 timespec tmp = t;-
52 if (tmp.tv_sec < 0) {-
53 tmp.tv_sec = -tmp.tv_sec - 1;-
54 tmp.tv_nsec -= 1000000000;-
55 }-
56 if (tmp.tv_sec == 0 && tmp.tv_nsec < 0) {-
57 tmp.tv_nsec = -tmp.tv_nsec;-
58 }-
59 return normalizedTimespec(tmp);-
60}-
61bool QTimerInfoList::timeChanged(timespec *delta)-
62{-
63-
64-
65-
66-
67 struct tms unused;-
68 clock_t currentTicks = times(&unused);-
69-
70 clock_t elapsedTicks = currentTicks - previousTicks;-
71 timespec elapsedTime = currentTime - previousTime;-
72-
73 timespec elapsedTimeTicks;-
74 elapsedTimeTicks.tv_sec = elapsedTicks / ticksPerSecond;-
75 elapsedTimeTicks.tv_nsec = (((elapsedTicks * 1000) / ticksPerSecond) % 1000) * 1000 * 1000;-
76-
77 timespec dummy;-
78 if (!delta)-
79 delta = &dummy;-
80 *delta = elapsedTime - elapsedTimeTicks;-
81-
82 previousTicks = currentTicks;-
83 previousTime = currentTime;-
84-
85-
86-
87 timespec tickGranularity;-
88 tickGranularity.tv_sec = 0;-
89 tickGranularity.tv_nsec = msPerTick * 1000 * 1000;-
90 return elapsedTimeTicks < ((qAbsTimespec(*delta) - tickGranularity) * 10);-
91}-
92-
93-
94-
95-
96void QTimerInfoList::timerRepair(const timespec &diff)-
97{-
98-
99 for (int i = 0; i < size(); ++i) {-
100 QTimerInfo *t = at(i);-
101 t->timeout = t->timeout + diff;-
102 }-
103}-
104-
105void QTimerInfoList::repairTimersIfNeeded()-
106{-
107 if (QElapsedTimer::isMonotonic())-
108 return;-
109 timespec delta;-
110 if (timeChanged(&delta))-
111 timerRepair(delta);-
112}-
113void QTimerInfoList::timerInsert(QTimerInfo *ti)-
114{-
115 int index = size();-
116 while (index--) {-
117 const QTimerInfo * const t = at(index);-
118 if (!(ti->timeout < t->timeout))-
119 break;-
120 }-
121 insert(index+1, ti);-
122}-
123-
124inline timespec &operator+=(timespec &t1, int ms)-
125{-
126 t1.tv_sec += ms / 1000;-
127 t1.tv_nsec += ms % 1000 * 1000 * 1000;-
128 return normalizedTimespec(t1);-
129}-
130-
131inline timespec operator+(const timespec &t1, int ms)-
132{-
133 timespec t2 = t1;-
134 return t2 += ms;-
135}-
136-
137static timespec roundToMillisecond(timespec val)-
138{-
139-
140-
141-
142 int ns = val.tv_nsec % (1000 * 1000);-
143 val.tv_nsec += 1000 * 1000 - ns;-
144 return normalizedTimespec(val);-
145}-
146static void calculateCoarseTimerTimeout(QTimerInfo *t, timespec currentTime)-
147{-
148 uint interval = uint(t->interval);-
149 uint msec = uint(t->timeout.tv_nsec) / 1000 / 1000;-
150 ((!(interval >= 20)) ? qt_assert("interval >= 20",__FILE__,243250) : qt_noop());-
151-
152-
153 uint absMaxRounding = interval / 20;-
154-
155 if (interval < 100 && interval != 25 && interval != 50 && interval != 75) {-
156-
157 if (interval < 50) {-
158-
159-
160 bool roundUp = (msec % 50) >= 25;-
161 msec >>= 1;-
162 msec |= uint(roundUp);-
163 msec <<= 1;-
164 } else {-
165-
166-
167 bool roundUp = (msec % 100) >= 50;-
168 msec >>= 2;-
169 msec |= uint(roundUp);-
170 msec <<= 2;-
171 }-
172 } else {-
173 uint min = qMax<int>(0, msec - absMaxRounding);-
174 uint max = qMin(1000u, msec + absMaxRounding);-
175-
176-
177-
178-
179 if (min == 0) {-
180 msec = 0;-
181 goto recalculate;-
182 } else if (max == 1000) {-
183 msec = 1000;-
184 goto recalculate;-
185 }-
186-
187 uint wantedBoundaryMultiple;-
188-
189-
190-
191-
192-
193 if ((interval % 500) == 0) {-
194 if (interval >= 5000) {-
195 msec = msec >= 500 ? max : min;-
196 goto recalculate;-
197 } else {-
198 wantedBoundaryMultiple = 500;-
199 }-
200 } else if ((interval % 50) == 0) {-
201-
202 uint mult50 = interval / 50;-
203 if ((mult50 % 4) == 0) {-
204-
205 wantedBoundaryMultiple = 200;-
206 } else if ((mult50 % 2) == 0) {-
207-
208 wantedBoundaryMultiple = 100;-
209 } else if ((mult50 % 5) == 0) {-
210-
211 wantedBoundaryMultiple = 250;-
212 } else {-
213-
214 wantedBoundaryMultiple = 50;-
215 }-
216 } else {-
217 wantedBoundaryMultiple = 25;-
218 }-
219-
220 uint base = msec / wantedBoundaryMultiple * wantedBoundaryMultiple;-
221 uint middlepoint = base + wantedBoundaryMultiple / 2;-
222 if (msec < middlepoint)-
223 msec = qMax(base, min);-
224 else-
225 msec = qMin(base + wantedBoundaryMultiple, max);-
226 }-
227-
228recalculate:-
229 if (msec == 1000u) {-
230 ++t->timeout.tv_sec;-
231 t->timeout.tv_nsec = 0;-
232 } else {-
233 t->timeout.tv_nsec = msec * 1000 * 1000;-
234 }-
235-
236 if (t->timeout < currentTime)-
237 t->timeout += interval;-
238}-
239-
240static void calculateNextTimeout(QTimerInfo *t, timespec currentTime)-
241{-
242 switch (t->timerType) {-
243 case Qt::PreciseTimer:-
244 case Qt::CoarseTimer:-
245 t->timeout += t->interval;-
246 if (t->timeout < currentTime) {-
247 t->timeout = currentTime;-
248 t->timeout += t->interval;-
249 }-
250-
251-
252-
253-
254-
255-
256-
257 if (t->timerType == Qt::CoarseTimer)-
258 calculateCoarseTimerTimeout(t, currentTime);-
259 return;-
260-
261 case Qt::VeryCoarseTimer:-
262-
263 t->timeout.tv_sec += t->interval;-
264 if (t->timeout.tv_sec <= currentTime.tv_sec)-
265 t->timeout.tv_sec = currentTime.tv_sec + t->interval;-
266-
267-
268-
269-
270-
271 return;-
272 }-
273-
274-
275-
276-
277-
278-
279-
280}-
281-
282-
283-
284-
285-
286bool QTimerInfoList::timerWait(timespec &tm)-
287{-
288 timespec currentTime = updateCurrentTime();-
289 repairTimersIfNeeded();-
290-
291-
292 QTimerInfo *t = 0;-
293 for (QTimerInfoList::const_iterator it = constBegin(); it != constEnd(); ++it) {-
294 if (!(*it)->activateRef) {-
295 t = *it;-
296 break;-
297 }-
298 }-
299-
300 if (!t)-
301 return false;-
302-
303 if (currentTime < t->timeout) {-
304-
305 tm = roundToMillisecond(t->timeout - currentTime);-
306 } else {-
307-
308 tm.tv_sec = 0;-
309 tm.tv_nsec = 0;-
310 }-
311-
312 return true;-
313}-
314-
315-
316-
317-
318-
319-
320int QTimerInfoList::timerRemainingTime(int timerId)-
321{-
322 timespec currentTime = updateCurrentTime();-
323 repairTimersIfNeeded();-
324 timespec tm = {0, 0};-
325-
326 for (int i = 0; i < count(); ++i) {-
327 QTimerInfo *t = at(i);-
328 if (t->id == timerId) {-
329 if (currentTime < t->timeout) {-
330-
331 tm = roundToMillisecond(t->timeout - currentTime);-
332 return tm.tv_sec*1000 + tm.tv_nsec/1000/1000;-
333 } else {-
334 return 0;-
335 }-
336 }-
337 }-
338-
339-
340 QMessageLogger(__FILE__, 433440, __PRETTY_FUNCTION__).warning("QTimerInfoList::timerRemainingTime: timer id %i not found", timerId);-
341-
342-
343 return -1;-
344}-
345-
346void QTimerInfoList::registerTimer(int timerId, int interval, Qt::TimerType timerType, QObject *object)-
347{-
348 QTimerInfo *t = new QTimerInfo;-
349 t->id = timerId;-
350 t->interval = interval;-
351 t->timerType = timerType;-
352 t->obj = object;-
353 t->activateRef = 0;-
354-
355 timespec expected = updateCurrentTime() + interval;-
356-
357 switch (timerType) {-
358 case Qt::PreciseTimer:-
359-
360-
361 t->timeout = expected;-
362 break;-
363-
364 case Qt::CoarseTimer:-
365-
366-
367-
368-
369 if (interval >= 20000) {-
370 t->timerType = Qt::VeryCoarseTimer;-
371-
372 } else {-
373 t->timeout = expected;-
374 if (interval <= 20) {-
375 t->timerType = Qt::PreciseTimer;-
376-
377 } else if (interval <= 20000) {-
378 calculateCoarseTimerTimeout(t, currentTime);-
379 }-
380 break;-
381 }-
382-
383 case Qt::VeryCoarseTimer:-
384-
385-
386 t->interval /= 500;-
387 t->interval += 1;-
388 t->interval >>= 1;-
389 t->timeout.tv_sec = currentTime.tv_sec + t->interval;-
390 t->timeout.tv_nsec = 0;-
391-
392-
393 if (currentTime.tv_nsec > 500*1000*1000)-
394 ++t->timeout.tv_sec;-
395 }-
396-
397 timerInsert(t);-
398}-
399-
400bool QTimerInfoList::unregisterTimer(int timerId)-
401{-
402-
403 for (int i = 0; i < count(); ++i) {-
404 QTimerInfo *t = at(i);-
405 if (t->id == timerId) {-
406-
407 removeAt(i);-
408 if (t == firstTimerInfo)-
409 firstTimerInfo = 0;-
410 if (t->activateRef)-
411 *(t->activateRef) = 0;-
412 delete t;-
413 return true;-
414 }-
415 }-
416-
417 return false;-
418}-
419-
420bool QTimerInfoList::unregisterTimers(QObject *object)-
421{-
422 if (isEmpty())-
423 return false;-
424 for (int i = 0; i < count(); ++i) {-
425 QTimerInfo *t = at(i);-
426 if (t->obj == object) {-
427-
428 removeAt(i);-
429 if (t == firstTimerInfo)-
430 firstTimerInfo = 0;-
431 if (t->activateRef)-
432 *(t->activateRef) = 0;-
433 delete t;-
434-
435 --i;-
436 }-
437 }-
438 return true;-
439}-
440-
441QList<QAbstractEventDispatcher::TimerInfo> QTimerInfoList::registeredTimers(QObject *object) const-
442{-
443 QList<QAbstractEventDispatcher::TimerInfo> list;-
444 for (int i = 0; i < count(); ++i) {-
445 const QTimerInfo * const t = at(i);-
446 if (t->obj == object) {-
447 list << QAbstractEventDispatcher::TimerInfo(t->id,-
448 (t->timerType == Qt::VeryCoarseTimer-
449 ? t->interval * 1000-
450 : t->interval),-
451 t->timerType);-
452 }-
453 }-
454 return list;-
455}-
456-
457-
458-
459-
460int QTimerInfoList::activateTimers()-
461{-
462 if (qt_disable_lowpriority_timers
qt_disable_lowpriority_timersDescription
TRUEnever evaluated
FALSEevaluated 46109 times by 115 tests
Evaluated by:
  • tst_Gestures
  • tst_QAbstractAnimation
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QAccessibility
  • tst_QApplication
  • tst_QButtonGroup
  • tst_QCalendarWidget
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QCoreApplication
  • tst_QDBusAbstractInterface
  • tst_QDBusMarshall
  • tst_QDialog
  • tst_QDialogButtonBox
  • tst_QEventDispatcher
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFileSystemWatcher
  • ...
|| isEmpty()
isEmpty()Description
TRUEevaluated 16 times by 8 tests
Evaluated by:
  • tst_QGraphicsEffect
  • tst_QGraphicsItem
  • tst_QGraphicsLayout
  • tst_QGraphicsProxyWidget
  • tst_QGraphicsScene
  • tst_QGraphicsSceneIndex
  • tst_QGraphicsWidget
  • tst_QStateMachine
FALSEevaluated 46093 times by 115 tests
Evaluated by:
  • tst_Gestures
  • tst_QAbstractAnimation
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QAccessibility
  • tst_QApplication
  • tst_QButtonGroup
  • tst_QCalendarWidget
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QCoreApplication
  • tst_QDBusAbstractInterface
  • tst_QDBusMarshall
  • tst_QDialog
  • tst_QDialogButtonBox
  • tst_QEventDispatcher
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFileSystemWatcher
  • ...
)
0-46109
463 return
executed 16 times by 8 tests: return 0;
Executed by:
  • tst_QGraphicsEffect
  • tst_QGraphicsItem
  • tst_QGraphicsLayout
  • tst_QGraphicsProxyWidget
  • tst_QGraphicsScene
  • tst_QGraphicsSceneIndex
  • tst_QGraphicsWidget
  • tst_QStateMachine
0;
executed 16 times by 8 tests: return 0;
Executed by:
  • tst_QGraphicsEffect
  • tst_QGraphicsItem
  • tst_QGraphicsLayout
  • tst_QGraphicsProxyWidget
  • tst_QGraphicsScene
  • tst_QGraphicsSceneIndex
  • tst_QGraphicsWidget
  • tst_QStateMachine
16
464-
465 int n_act = 0, maxCount = 0;-
466 firstTimerInfo = 0;-
467-
468 timespec currentTime = updateCurrentTime();-
469-
470 repairTimersIfNeeded();-
471-
472-
473-
474 for (QTimerInfoList::const_iterator it = constBegin(); it != constEnd()
it != constEnd()Description
TRUEevaluated 61199 times by 115 tests
Evaluated by:
  • tst_Gestures
  • tst_QAbstractAnimation
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QAccessibility
  • tst_QApplication
  • tst_QButtonGroup
  • tst_QCalendarWidget
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QCoreApplication
  • tst_QDBusAbstractInterface
  • tst_QDBusMarshall
  • tst_QDialog
  • tst_QDialogButtonBox
  • tst_QEventDispatcher
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFileSystemWatcher
  • ...
FALSEevaluated 34728 times by 82 tests
Evaluated by:
  • tst_Gestures
  • tst_QAbstractAnimation
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QApplication
  • tst_QCalendarWidget
  • tst_QColumnView
  • tst_QCompleter
  • tst_QCoreApplication
  • tst_QDBusAbstractInterface
  • tst_QDBusMarshall
  • tst_QDialogButtonBox
  • tst_QEventLoop
  • tst_QFileSystemModel
  • tst_QFileSystemWatcher
  • tst_QFtp
  • tst_QGraphicsAnchorLayout
  • tst_QGraphicsEffect
  • tst_QGraphicsEffectSource
  • tst_QGraphicsGridLayout
  • tst_QGraphicsItem
  • tst_QGraphicsLayout
  • tst_QGraphicsLinearLayout
  • ...
; ++it) {
34728-61199
475 if (currentTime < (*it)->timeout
currentTime < (*it)->timeoutDescription
TRUEevaluated 11365 times by 79 tests
Evaluated by:
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAccessibility
  • tst_QApplication
  • tst_QButtonGroup
  • tst_QCalendarWidget
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QDialog
  • tst_QEventDispatcher
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFileSystemWatcher
  • tst_QFiledialog
  • tst_QFontDialog
  • tst_QFtp
  • tst_QGraphicsEffect
  • tst_QGraphicsEffectSource
  • tst_QGraphicsItem
  • tst_QGraphicsLayout
  • ...
FALSEevaluated 49834 times by 115 tests
Evaluated by:
  • tst_Gestures
  • tst_QAbstractAnimation
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QAccessibility
  • tst_QApplication
  • tst_QButtonGroup
  • tst_QCalendarWidget
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QCoreApplication
  • tst_QDBusAbstractInterface
  • tst_QDBusMarshall
  • tst_QDialog
  • tst_QDialogButtonBox
  • tst_QEventDispatcher
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFileSystemWatcher
  • ...
)
11365-49834
476 break;
executed 11365 times by 79 tests: break;
Executed by:
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAccessibility
  • tst_QApplication
  • tst_QButtonGroup
  • tst_QCalendarWidget
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QDialog
  • tst_QEventDispatcher
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFileSystemWatcher
  • tst_QFiledialog
  • tst_QFontDialog
  • tst_QFtp
  • tst_QGraphicsEffect
  • tst_QGraphicsEffectSource
  • tst_QGraphicsItem
  • tst_QGraphicsLayout
  • ...
11365
477 maxCount++;-
478 }
executed 49834 times by 115 tests: end of block
Executed by:
  • tst_Gestures
  • tst_QAbstractAnimation
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QAccessibility
  • tst_QApplication
  • tst_QButtonGroup
  • tst_QCalendarWidget
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QCoreApplication
  • tst_QDBusAbstractInterface
  • tst_QDBusMarshall
  • tst_QDialog
  • tst_QDialogButtonBox
  • tst_QEventDispatcher
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFileSystemWatcher
  • ...
49834
479-
480-
481 while (maxCount--
maxCount--Description
TRUEevaluated 49770 times by 115 tests
Evaluated by:
  • tst_Gestures
  • tst_QAbstractAnimation
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QAccessibility
  • tst_QApplication
  • tst_QButtonGroup
  • tst_QCalendarWidget
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QCoreApplication
  • tst_QDBusAbstractInterface
  • tst_QDBusMarshall
  • tst_QDialog
  • tst_QDialogButtonBox
  • tst_QEventDispatcher
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFileSystemWatcher
  • ...
FALSEevaluated 45933 times by 115 tests
Evaluated by:
  • tst_Gestures
  • tst_QAbstractAnimation
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QAccessibility
  • tst_QApplication
  • tst_QButtonGroup
  • tst_QCalendarWidget
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QCoreApplication
  • tst_QDBusAbstractInterface
  • tst_QDBusMarshall
  • tst_QDialog
  • tst_QDialogButtonBox
  • tst_QEventDispatcher
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFileSystemWatcher
  • ...
) {
45933-49770
482 if (isEmpty()
isEmpty()Description
TRUEnever evaluated
FALSEevaluated 49770 times by 115 tests
Evaluated by:
  • tst_Gestures
  • tst_QAbstractAnimation
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QAccessibility
  • tst_QApplication
  • tst_QButtonGroup
  • tst_QCalendarWidget
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QCoreApplication
  • tst_QDBusAbstractInterface
  • tst_QDBusMarshall
  • tst_QDialog
  • tst_QDialogButtonBox
  • tst_QEventDispatcher
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFileSystemWatcher
  • ...
)
0-49770
483 break;
never executed: break;
0
484-
485 QTimerInfo *currentTimerInfo = firstconstFirst();-
486 if (currentTime < currentTimerInfo->timeout
currentTime < ...rInfo->timeoutDescription
TRUEevaluated 159 times by 17 tests
Evaluated by:
  • tst_QAbstractItemView
  • tst_QAccessibility
  • tst_QCalendarWidget
  • tst_QComboBox
  • tst_QCompleter
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFiledialog
  • tst_QGraphicsProxyWidget
  • tst_QHeaderView
  • tst_QListView
  • tst_QSortFilterProxyModel
  • tst_QTableView
  • tst_QTimer
  • tst_QTreeView
  • tst_QTreeWidget
  • tst_languageChange
FALSEevaluated 49611 times by 115 tests
Evaluated by:
  • tst_Gestures
  • tst_QAbstractAnimation
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QAccessibility
  • tst_QApplication
  • tst_QButtonGroup
  • tst_QCalendarWidget
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QCoreApplication
  • tst_QDBusAbstractInterface
  • tst_QDBusMarshall
  • tst_QDialog
  • tst_QDialogButtonBox
  • tst_QEventDispatcher
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFileSystemWatcher
  • ...
)
159-49611
487 break;
executed 159 times by 17 tests: break;
Executed by:
  • tst_QAbstractItemView
  • tst_QAccessibility
  • tst_QCalendarWidget
  • tst_QComboBox
  • tst_QCompleter
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFiledialog
  • tst_QGraphicsProxyWidget
  • tst_QHeaderView
  • tst_QListView
  • tst_QSortFilterProxyModel
  • tst_QTableView
  • tst_QTimer
  • tst_QTreeView
  • tst_QTreeWidget
  • tst_languageChange
159
488-
489 if (!firstTimerInfo
!firstTimerInfoDescription
TRUEevaluated 49461 times by 115 tests
Evaluated by:
  • tst_Gestures
  • tst_QAbstractAnimation
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QAccessibility
  • tst_QApplication
  • tst_QButtonGroup
  • tst_QCalendarWidget
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QCoreApplication
  • tst_QDBusAbstractInterface
  • tst_QDBusMarshall
  • tst_QDialog
  • tst_QDialogButtonBox
  • tst_QEventDispatcher
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFileSystemWatcher
  • ...
FALSEevaluated 150 times by 16 tests
Evaluated by:
  • tst_QColumnView
  • tst_QDialog
  • tst_QFileSystemWatcher
  • tst_QFiledialog
  • tst_QGraphicsGridLayout
  • tst_QGraphicsItem
  • tst_QGraphicsProxyWidget
  • tst_QGraphicsView
  • tst_QGraphicsWidget
  • tst_QItemDelegate
  • tst_QMainWindow
  • tst_QPainter
  • tst_QTimer
  • tst_QTouchEvent
  • tst_QTreeWidget
  • tst_QWidget
) {
150-49461
490 firstTimerInfo = currentTimerInfo;-
491 }
executed 49461 times by 115 tests: end of block
Executed by:
  • tst_Gestures
  • tst_QAbstractAnimation
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QAccessibility
  • tst_QApplication
  • tst_QButtonGroup
  • tst_QCalendarWidget
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QCoreApplication
  • tst_QDBusAbstractInterface
  • tst_QDBusMarshall
  • tst_QDialog
  • tst_QDialogButtonBox
  • tst_QEventDispatcher
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFileSystemWatcher
  • ...
else if (firstTimerInfo == currentTimerInfo
firstTimerInfo...rrentTimerInfoDescription
TRUEnever evaluated
FALSEevaluated 150 times by 16 tests
Evaluated by:
  • tst_QColumnView
  • tst_QDialog
  • tst_QFileSystemWatcher
  • tst_QFiledialog
  • tst_QGraphicsGridLayout
  • tst_QGraphicsItem
  • tst_QGraphicsProxyWidget
  • tst_QGraphicsView
  • tst_QGraphicsWidget
  • tst_QItemDelegate
  • tst_QMainWindow
  • tst_QPainter
  • tst_QTimer
  • tst_QTouchEvent
  • tst_QTreeWidget
  • tst_QWidget
) {
0-49461
492-
493 break;
never executed: break;
0
494 } else if (currentTimerInfo->interval < firstTimerInfo->interval
currentTimerIn...Info->intervalDescription
TRUEevaluated 44 times by 6 tests
Evaluated by:
  • tst_QColumnView
  • tst_QFileSystemWatcher
  • tst_QFiledialog
  • tst_QMainWindow
  • tst_QTreeWidget
  • tst_QWidget
FALSEevaluated 106 times by 11 tests
Evaluated by:
  • tst_QDialog
  • tst_QGraphicsGridLayout
  • tst_QGraphicsItem
  • tst_QGraphicsProxyWidget
  • tst_QGraphicsView
  • tst_QGraphicsWidget
  • tst_QItemDelegate
  • tst_QMainWindow
  • tst_QPainter
  • tst_QTimer
  • tst_QTouchEvent
44-106
495 || currentTimerInfo->interval == firstTimerInfo->interval
currentTimerIn...Info->intervalDescription
TRUEevaluated 68 times by 9 tests
Evaluated by:
  • tst_QDialog
  • tst_QGraphicsGridLayout
  • tst_QGraphicsItem
  • tst_QGraphicsProxyWidget
  • tst_QGraphicsView
  • tst_QGraphicsWidget
  • tst_QPainter
  • tst_QTimer
  • tst_QTouchEvent
FALSEevaluated 38 times by 3 tests
Evaluated by:
  • tst_QItemDelegate
  • tst_QMainWindow
  • tst_QTimer
) {
38-68
496 firstTimerInfo = currentTimerInfo;-
497 }
executed 112 times by 15 tests: end of block
Executed by:
  • tst_QColumnView
  • tst_QDialog
  • tst_QFileSystemWatcher
  • tst_QFiledialog
  • tst_QGraphicsGridLayout
  • tst_QGraphicsItem
  • tst_QGraphicsProxyWidget
  • tst_QGraphicsView
  • tst_QGraphicsWidget
  • tst_QMainWindow
  • tst_QPainter
  • tst_QTimer
  • tst_QTouchEvent
  • tst_QTreeWidget
  • tst_QWidget
112
498-
499-
500 removeFirst();-
501 calculateNextTimeout(currentTimerInfo, currentTime);-
502-
503-
504 timerInsert(currentTimerInfo);-
505 if (currentTimerInfo->interval > 0
currentTimerInfo->interval > 0Description
TRUEevaluated 5710 times by 90 tests
Evaluated by:
  • tst_QAbstractAnimation
  • tst_QAbstractButton
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QAccessibility
  • tst_QApplication
  • tst_QButtonGroup
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QCoreApplication
  • tst_QDBusAbstractInterface
  • tst_QDBusMarshall
  • tst_QDialog
  • tst_QEventDispatcher
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFileSystemWatcher
  • tst_QFiledialog
  • tst_QFontDialog
  • tst_QFtp
  • tst_QGraphicsItem
  • ...
FALSEevaluated 43901 times by 58 tests
Evaluated by:
  • tst_Gestures
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAccessibility
  • tst_QCalendarWidget
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCompleter
  • tst_QDialog
  • tst_QDialogButtonBox
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFiledialog
  • tst_QFontDialog
  • tst_QGraphicsAnchorLayout
  • tst_QGraphicsEffect
  • tst_QGraphicsEffectSource
  • tst_QGraphicsGridLayout
  • tst_QGraphicsItem
  • tst_QGraphicsLayout
  • tst_QGraphicsLinearLayout
  • tst_QGraphicsProxyWidget
  • tst_QGraphicsScene
  • tst_QGraphicsSceneIndex
  • ...
)
5710-43901
506 n_act++;
executed 5710 times by 90 tests: n_act++;
Executed by:
  • tst_QAbstractAnimation
  • tst_QAbstractButton
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QAccessibility
  • tst_QApplication
  • tst_QButtonGroup
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QCoreApplication
  • tst_QDBusAbstractInterface
  • tst_QDBusMarshall
  • tst_QDialog
  • tst_QEventDispatcher
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFileSystemWatcher
  • tst_QFiledialog
  • tst_QFontDialog
  • tst_QFtp
  • tst_QGraphicsItem
  • ...
5710
507-
508 if (!currentTimerInfo->activateRef
!currentTimerInfo->activateRefDescription
TRUEevaluated 49574 times by 115 tests
Evaluated by:
  • tst_Gestures
  • tst_QAbstractAnimation
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QAccessibility
  • tst_QApplication
  • tst_QButtonGroup
  • tst_QCalendarWidget
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QCoreApplication
  • tst_QDBusAbstractInterface
  • tst_QDBusMarshall
  • tst_QDialog
  • tst_QDialogButtonBox
  • tst_QEventDispatcher
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFileSystemWatcher
  • ...
FALSEevaluated 37 times by 1 test
Evaluated by:
  • tst_QTimer
) {
37-49574
509-
510 currentTimerInfo->activateRef = &currentTimerInfo;-
511-
512 QTimerEvent e(currentTimerInfo->id);-
513 QCoreApplication::sendEvent(currentTimerInfo->obj, &e);-
514-
515 if (currentTimerInfo
currentTimerInfoDescription
TRUEevaluated 16554 times by 57 tests
Evaluated by:
  • tst_Gestures
  • tst_QAbstractAnimation
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QApplication
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCompleter
  • tst_QDialog
  • tst_QEventDispatcher
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFileSystemWatcher
  • tst_QFiledialog
  • tst_QGraphicsAnchorLayout
  • tst_QGraphicsEffect
  • tst_QGraphicsEffectSource
  • tst_QGraphicsGridLayout
  • tst_QGraphicsItem
  • tst_QGraphicsLayout
  • tst_QGraphicsLinearLayout
  • tst_QGraphicsProxyWidget
  • tst_QGraphicsScene
  • tst_QGraphicsSceneIndex
  • ...
FALSEevaluated 33019 times by 106 tests
Evaluated by:
  • tst_Gestures
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QAccessibility
  • tst_QApplication
  • tst_QButtonGroup
  • tst_QCalendarWidget
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QCoreApplication
  • tst_QDBusAbstractInterface
  • tst_QDBusMarshall
  • tst_QDialog
  • tst_QDialogButtonBox
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFiledialog
  • tst_QFontDialog
  • tst_QFtp
  • ...
)
16554-33019
516 currentTimerInfo->activateRef = 0;
executed 16554 times by 57 tests: currentTimerInfo->activateRef = 0;
Executed by:
  • tst_Gestures
  • tst_QAbstractAnimation
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QApplication
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCompleter
  • tst_QDialog
  • tst_QEventDispatcher
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFileSystemWatcher
  • tst_QFiledialog
  • tst_QGraphicsAnchorLayout
  • tst_QGraphicsEffect
  • tst_QGraphicsEffectSource
  • tst_QGraphicsGridLayout
  • tst_QGraphicsItem
  • tst_QGraphicsLayout
  • tst_QGraphicsLinearLayout
  • tst_QGraphicsProxyWidget
  • tst_QGraphicsScene
  • tst_QGraphicsSceneIndex
  • ...
16554
517 }
executed 49573 times by 115 tests: end of block
Executed by:
  • tst_Gestures
  • tst_QAbstractAnimation
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QAccessibility
  • tst_QApplication
  • tst_QButtonGroup
  • tst_QCalendarWidget
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QCoreApplication
  • tst_QDBusAbstractInterface
  • tst_QDBusMarshall
  • tst_QDialog
  • tst_QDialogButtonBox
  • tst_QEventDispatcher
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFileSystemWatcher
  • ...
49573
518 }
executed 49610 times by 115 tests: end of block
Executed by:
  • tst_Gestures
  • tst_QAbstractAnimation
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QAccessibility
  • tst_QApplication
  • tst_QButtonGroup
  • tst_QCalendarWidget
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QCoreApplication
  • tst_QDBusAbstractInterface
  • tst_QDBusMarshall
  • tst_QDialog
  • tst_QDialogButtonBox
  • tst_QEventDispatcher
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFileSystemWatcher
  • ...
49610
519-
520 firstTimerInfo = 0;-
521-
522 return
executed 46092 times by 115 tests: return n_act;
Executed by:
  • tst_Gestures
  • tst_QAbstractAnimation
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QAccessibility
  • tst_QApplication
  • tst_QButtonGroup
  • tst_QCalendarWidget
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QCoreApplication
  • tst_QDBusAbstractInterface
  • tst_QDBusMarshall
  • tst_QDialog
  • tst_QDialogButtonBox
  • tst_QEventDispatcher
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFileSystemWatcher
  • ...
n_act;
executed 46092 times by 115 tests: return n_act;
Executed by:
  • tst_Gestures
  • tst_QAbstractAnimation
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QAccessibility
  • tst_QApplication
  • tst_QButtonGroup
  • tst_QCalendarWidget
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QCoreApplication
  • tst_QDBusAbstractInterface
  • tst_QDBusMarshall
  • tst_QDialog
  • tst_QDialogButtonBox
  • tst_QEventDispatcher
  • tst_QEventLoop
  • tst_QFileDialog2
  • tst_QFileSystemModel
  • tst_QFileSystemWatcher
  • ...
46092
523}-
524-
525-
Switch to Source codePreprocessed file

Generated by Squish Coco Non-Commercial 4.3.0-BETA-master-30-08-2018-4cb69e9