diff options
author | Martin Jones <martin.jones@nokia.com> | 2012-05-17 17:39:46 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-05-21 03:10:45 +0200 |
commit | 11fa02c5cda08ea8eb83d61113c7fb1571d8e7b2 (patch) | |
tree | c2b40fac9f6e1b53dbaf0632f037477862d61e8e /src/corelib/kernel/qcoreapplication.cpp | |
parent | 0b8021f5cb64d751c694b976d09b0f89017b14e4 (diff) |
Move rarely used QObjectPrivate data to extraData
Move runningTimers, eventFilters and objectName data members to
ExtraData. Saves 12 bytes per QObject for 95% of use cases
(QObjectPrivate goes from 76B -> 64B).
Change-Id: I5648c89f65a7be3ea51bd703ee8a9dcff6222c3c
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/corelib/kernel/qcoreapplication.cpp')
-rw-r--r-- | src/corelib/kernel/qcoreapplication.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp index 9f6f2b798e..d67c820bb3 100644 --- a/src/corelib/kernel/qcoreapplication.cpp +++ b/src/corelib/kernel/qcoreapplication.cpp @@ -789,10 +789,10 @@ bool QCoreApplication::notify(QObject *receiver, QEvent *event) bool QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject *receiver, QEvent *event) { - if (receiver->d_func()->threadData == this->threadData) { + if (receiver->d_func()->threadData == this->threadData && extraData) { // application event filters are only called for objects in the GUI thread - for (int i = 0; i < eventFilters.size(); ++i) { - register QObject *obj = eventFilters.at(i); + for (int i = 0; i < extraData->eventFilters.size(); ++i) { + register QObject *obj = extraData->eventFilters.at(i); if (!obj) continue; if (obj->d_func()->threadData != threadData) { @@ -809,9 +809,9 @@ bool QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject *receiv bool QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject *receiver, QEvent *event) { Q_Q(QCoreApplication); - if (receiver != q) { - for (int i = 0; i < receiver->d_func()->eventFilters.size(); ++i) { - register QObject *obj = receiver->d_func()->eventFilters.at(i); + if (receiver != q && receiver->d_func()->extraData) { + for (int i = 0; i < receiver->d_func()->extraData->eventFilters.size(); ++i) { + register QObject *obj = receiver->d_func()->extraData->eventFilters.at(i); if (!obj) continue; if (obj->d_func()->threadData != receiver->d_func()->threadData) { |