summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qcoreapplication.cpp
diff options
context:
space:
mode:
authorMartin Jones <martin.jones@nokia.com>2012-05-17 17:39:46 +1000
committerQt by Nokia <qt-info@nokia.com>2012-05-21 03:10:45 +0200
commit11fa02c5cda08ea8eb83d61113c7fb1571d8e7b2 (patch)
treec2b40fac9f6e1b53dbaf0632f037477862d61e8e /src/corelib/kernel/qcoreapplication.cpp
parent0b8021f5cb64d751c694b976d09b0f89017b14e4 (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.cpp12
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) {