| Line | Source Code | Coverage |
|---|
| 1 | | - |
| 2 | | - |
| 3 | | - |
| 4 | | - |
| 5 | | - |
| 6 | struct QtTimerIdFreeListConstants : public QFreeListDefaultConstants | - |
| 7 | { | - |
| 8 | enum | - |
| 9 | { | - |
| 10 | InitialNextValue = 1, | - |
| 11 | BlockCount = 6 | - |
| 12 | }; | - |
| 13 | | - |
| 14 | static const int Sizes[BlockCount]; | - |
| 15 | }; | - |
| 16 | | - |
| 17 | enum { | - |
| 18 | Offset0 = 0x00000000, | - |
| 19 | Offset1 = 0x00000040, | - |
| 20 | Offset2 = 0x00000100, | - |
| 21 | Offset3 = 0x00001000, | - |
| 22 | Offset4 = 0x00010000, | - |
| 23 | Offset5 = 0x00100000, | - |
| 24 | | - |
| 25 | Size0 = Offset1 - Offset0, | - |
| 26 | Size1 = Offset2 - Offset1, | - |
| 27 | Size2 = Offset3 - Offset2, | - |
| 28 | Size3 = Offset4 - Offset3, | - |
| 29 | Size4 = Offset5 - Offset4, | - |
| 30 | Size5 = QtTimerIdFreeListConstants::MaxIndex - Offset5 | - |
| 31 | }; | - |
| 32 | | - |
| 33 | const int QtTimerIdFreeListConstants::Sizes[QtTimerIdFreeListConstants::BlockCount] = { | - |
| 34 | Size0, | - |
| 35 | Size1, | - |
| 36 | Size2, | - |
| 37 | Size3, | - |
| 38 | Size4, | - |
| 39 | Size5 | - |
| 40 | }; | - |
| 41 | | - |
| 42 | typedef QFreeList<void, QtTimerIdFreeListConstants> QtTimerIdFreeList; | - |
| 43 | static QtTimerIdFreeList *timerIdFreeList() { static QGlobalStatic<QtTimerIdFreeList > thisGlobalStatic = { { (0) }, false }; if (!thisGlobalStatic.pointer.load() && !thisGlobalStatic.destroyed) { QtTimerIdFreeList *x = new QtTimerIdFreeList; if (!thisGlobalStatic.pointer.testAndSetOrdered(0, x)) delete x; else static QGlobalStaticDeleter<QtTimerIdFreeList > cleanup(thisGlobalStatic); } return thisGlobalStatic.pointer.load(); } never executed: delete x; executed: return thisGlobalStatic.pointer.load();Execution Count:263347 partially evaluated: !thisGlobalStatic.pointer.testAndSetOrdered(0, x)| no Evaluation Count:0 | yes Evaluation Count:42 |
evaluated: !thisGlobalStatic.pointer.load()| yes Evaluation Count:42 | yes Evaluation Count:263305 |
partially evaluated: !thisGlobalStatic.destroyed| yes Evaluation Count:42 | no Evaluation Count:0 |
| 0-263347 |
| 44 | | - |
| 45 | int QAbstractEventDispatcherPrivate::allocateTimerId() | - |
| 46 | { | - |
| 47 | return timerIdFreeList()->next(); executed: return timerIdFreeList()->next();Execution Count:132414 | 132414 |
| 48 | } | - |
| 49 | | - |
| 50 | void QAbstractEventDispatcherPrivate::releaseTimerId(int timerId) | - |
| 51 | { | - |
| 52 | | - |
| 53 | | - |
| 54 | if (QtTimerIdFreeList *fl = timerIdFreeList()) partially evaluated: QtTimerIdFreeList *fl = timerIdFreeList()| yes Evaluation Count:130933 | no Evaluation Count:0 |
| 0-130933 |
| 55 | fl->release(timerId); executed: fl->release(timerId);Execution Count:130933 | 130933 |
| 56 | } executed: }Execution Count:130933 | 130933 |
| 57 | QAbstractEventDispatcher::QAbstractEventDispatcher(QObject *parent) | - |
| 58 | : QObject(*new QAbstractEventDispatcherPrivate, parent) {} executed: }Execution Count:2 | 2 |
| 59 | | - |
| 60 | | - |
| 61 | | - |
| 62 | | - |
| 63 | QAbstractEventDispatcher::QAbstractEventDispatcher(QAbstractEventDispatcherPrivate &dd, | - |
| 64 | QObject *parent) | - |
| 65 | : QObject(dd, parent) {} executed: }Execution Count:1717500 | 1717500 |
| 66 | | - |
| 67 | | - |
| 68 | | - |
| 69 | | - |
| 70 | QAbstractEventDispatcher::~QAbstractEventDispatcher() | - |
| 71 | { } | - |
| 72 | QAbstractEventDispatcher *QAbstractEventDispatcher::instance(QThread *thread) | - |
| 73 | { | - |
| 74 | QThreadData *data = thread ? QThreadData::get2(thread) : QThreadData::current(); evaluated: thread| yes Evaluation Count:136 | yes Evaluation Count:286304 |
| 136-286304 |
| 75 | return data->eventDispatcher; executed: return data->eventDispatcher;Execution Count:286440 | 286440 |
| 76 | } | - |
| 77 | int QAbstractEventDispatcher::registerTimer(int interval, Qt::TimerType timerType, QObject *object) | - |
| 78 | { | - |
| 79 | int id = QAbstractEventDispatcherPrivate::allocateTimerId(); | - |
| 80 | registerTimer(id, interval, timerType, object); | - |
| 81 | return id; executed: return id;Execution Count:132414 | 132414 |
| 82 | } | - |
| 83 | void QAbstractEventDispatcher::startingUp() | - |
| 84 | { } | - |
| 85 | | - |
| 86 | | - |
| 87 | | - |
| 88 | | - |
| 89 | void QAbstractEventDispatcher::closingDown() | - |
| 90 | { } | - |
| 91 | void QAbstractEventDispatcher::installNativeEventFilter(QAbstractNativeEventFilter *filterObj) | - |
| 92 | { | - |
| 93 | QAbstractEventDispatcherPrivate * const d = d_func(); | - |
| 94 | | - |
| 95 | | - |
| 96 | d->eventFilters.removeAll(0); | - |
| 97 | d->eventFilters.removeAll(filterObj); | - |
| 98 | d->eventFilters.prepend(filterObj); | - |
| 99 | } executed: }Execution Count:1 | 1 |
| 100 | void QAbstractEventDispatcher::removeNativeEventFilter(QAbstractNativeEventFilter *filter) | - |
| 101 | { | - |
| 102 | QAbstractEventDispatcherPrivate * const d = d_func(); | - |
| 103 | for (int i = 0; i < d->eventFilters.count(); ++i) { partially evaluated: i < d->eventFilters.count()| yes Evaluation Count:1 | no Evaluation Count:0 |
| 0-1 |
| 104 | if (d->eventFilters.at(i) == filter) { partially evaluated: d->eventFilters.at(i) == filter| yes Evaluation Count:1 | no Evaluation Count:0 |
| 0-1 |
| 105 | d->eventFilters[i] = 0; | - |
| 106 | break; executed: break;Execution Count:1 | 1 |
| 107 | } | - |
| 108 | } | 0 |
| 109 | } executed: }Execution Count:1 | 1 |
| 110 | bool QAbstractEventDispatcher::filterNativeEvent(const QByteArray &eventType, void *message, long *result) | - |
| 111 | { | - |
| 112 | QAbstractEventDispatcherPrivate * const d = d_func(); | - |
| 113 | if (!d->eventFilters.isEmpty()) { evaluated: !d->eventFilters.isEmpty()| yes Evaluation Count:5072 | yes Evaluation Count:143523 |
| 5072-143523 |
| 114 | | - |
| 115 | | - |
| 116 | QScopedLoopLevelCounter loopLevelCounter(d->threadData); | - |
| 117 | for (int i = 0; i < d->eventFilters.size(); ++i) { evaluated: i < d->eventFilters.size()| yes Evaluation Count:5072 | yes Evaluation Count:5072 |
| 5072 |
| 118 | QAbstractNativeEventFilter *filter = d->eventFilters.at(i); | - |
| 119 | if (!filter) evaluated: !filter| yes Evaluation Count:4974 | yes Evaluation Count:98 |
| 98-4974 |
| 120 | continue; executed: continue;Execution Count:4974 | 4974 |
| 121 | if (filter->nativeEventFilter(eventType, message, result)) partially evaluated: filter->nativeEventFilter(eventType, message, result)| no Evaluation Count:0 | yes Evaluation Count:98 |
| 0-98 |
| 122 | return true; never executed: return true; | 0 |
| 123 | } executed: }Execution Count:98 | 98 |
| 124 | } executed: }Execution Count:5072 | 5072 |
| 125 | return false; executed: return false;Execution Count:148595 | 148595 |
| 126 | } | - |
| 127 | | - |
| 128 | | - |
| | |