summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qobject.cpp
diff options
context:
space:
mode:
authorDavid Boddie <dboddie@trolltech.com>2009-11-24 15:22:19 (GMT)
committerDavid Boddie <dboddie@trolltech.com>2009-11-24 15:22:19 (GMT)
commit97aa8ad5ec6b5d23ad023518db92fa91d5fa7fe0 (patch)
treedd3645a6afc426a804e73df378c3d47906a8bcf9 /src/corelib/kernel/qobject.cpp
parent8eea9828289b842c8a300f1f4309d059b15fd7b0 (diff)
parent792e43aa2607d21deeada4b9f14bb82dc96ad4ec (diff)
downloadQt-97aa8ad5ec6b5d23ad023518db92fa91d5fa7fe0.zip
Qt-97aa8ad5ec6b5d23ad023518db92fa91d5fa7fe0.tar.gz
Qt-97aa8ad5ec6b5d23ad023518db92fa91d5fa7fe0.tar.bz2
Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.6
Diffstat (limited to 'src/corelib/kernel/qobject.cpp')
-rw-r--r--src/corelib/kernel/qobject.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp
index 1260d47..95602d9 100644
--- a/src/corelib/kernel/qobject.cpp
+++ b/src/corelib/kernel/qobject.cpp
@@ -154,6 +154,15 @@ QObjectPrivate::QObjectPrivate(int version)
hasGuards = false;
}
+#ifdef Q_CC_INTEL
+/* Workaround for a bug in win32-icc where it seems to inline ~QObjectPrivate too aggressive.
+ When icc compiles QtGui, it inlines ~QObjectPrivate so that it would generate a call to
+ ~QObjectData. However, ~QObjectData is not exported from QtCore, so it does not link.
+ See also QTBUG-5145 for info on how this manifested itself.
+ */
+# pragma auto_inline(off)
+#endif
+
QObjectPrivate::~QObjectPrivate()
{
delete static_cast<QAbstractDynamicMetaObject*>(metaObject);
@@ -165,6 +174,9 @@ QObjectPrivate::~QObjectPrivate()
delete extraData;
#endif
}
+#ifdef Q_CC_INTEL
+# pragma auto_inline(on)
+#endif
int *QObjectPrivate::setDeleteWatch(QObjectPrivate *d, int *w) {