summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-03-30 06:25:31 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-03-30 06:25:31 (GMT)
commit08072b17a19bf9a99fbc8a494baa5528725fec1a (patch)
tree900485e613e11149b6138667ef2626bb869d0cc1 /src/corelib
parentc4f59859a589b76419e9133110eda850223f03dd (diff)
parentb353f98da10f4b8b80f6be70951f147d580999e8 (diff)
downloadQt-08072b17a19bf9a99fbc8a494baa5528725fec1a.zip
Qt-08072b17a19bf9a99fbc8a494baa5528725fec1a.tar.gz
Qt-08072b17a19bf9a99fbc8a494baa5528725fec1a.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (23 commits) Fix compile error on mingw. MONILITY-645 Do not override alternate background color in Plastique Fix QComboBox ignoring foreground role in some styles Fix compilation on HP-UXi: _SC_MONOTONIC_CLOCK isn't defined Fix compilation with Sun CC: Ensure that we return QPair<long,long> in all cases. Update PLATFORM(SPARC64) to CPU(SPARC64) jui files are no c++ ... scan some more file types by default Support EtchDisabledText with spin box on Windows style QNAM HTTP: Fix invoking a method when being destructed right now Fixed a typo in the QDoubleValidotor doc. Trivial fix to JavaScriptCore to fix building with MSVC 2010 Autotest: oops, fix oops: remove qguard from auto.pro Autotests: oops, remove last traces of QGuard Remove QGuard. Unskip test that used to crash QtScript: Add yet more missing API shims QtScript: Make sure the old identifier table is restored ...
Diffstat (limited to 'src/corelib')
-rw-r--r--src/corelib/io/qwindowspipewriter.cpp5
-rw-r--r--src/corelib/kernel/kernel.pri1
-rw-r--r--src/corelib/kernel/qguard_p.h157
-rw-r--r--src/corelib/kernel/qobject.cpp9
-rw-r--r--src/corelib/kernel/qobject_p.h31
-rw-r--r--src/corelib/tools/qelapsedtimer_unix.cpp8
6 files changed, 9 insertions, 202 deletions
diff --git a/src/corelib/io/qwindowspipewriter.cpp b/src/corelib/io/qwindowspipewriter.cpp
index eb42c20..3eb2411 100644
--- a/src/corelib/io/qwindowspipewriter.cpp
+++ b/src/corelib/io/qwindowspipewriter.cpp
@@ -100,7 +100,10 @@ qint64 QWindowsPipeWriter::write(const char *ptr, qint64 maxlen)
void QWindowsPipeWriter::run()
{
- OVERLAPPED overl = {0, 0, {{ 0 }}, 0};
+ OVERLAPPED overl;
+ overl.Internal = 0;
+ overl.InternalHigh = 0;
+ overl.Pointer = 0;
overl.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
forever {
lock.lock();
diff --git a/src/corelib/kernel/kernel.pri b/src/corelib/kernel/kernel.pri
index d0dad49..1851e04 100644
--- a/src/corelib/kernel/kernel.pri
+++ b/src/corelib/kernel/kernel.pri
@@ -33,7 +33,6 @@ HEADERS += \
kernel/qsystemsemaphore.h \
kernel/qsystemsemaphore_p.h \
kernel/qfunctions_p.h \
- kernel/qguard_p.h \
kernel/qmath.h
SOURCES += \
diff --git a/src/corelib/kernel/qguard_p.h b/src/corelib/kernel/qguard_p.h
deleted file mode 100644
index 0f7fd94..0000000
--- a/src/corelib/kernel/qguard_p.h
+++ /dev/null
@@ -1,157 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QGUARD_P_H
-#define QGUARD_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of qapplication_*.cpp, qwidget*.cpp and qfiledialog.cpp. This header
-// file may change from version to version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "QtCore/qglobal.h"
-
-QT_BEGIN_NAMESPACE
-
-class QObject;
-template<class T>
-class QGuard
-{
- QObject *o;
- QGuard<QObject> *next;
- QGuard<QObject> **prev;
- friend void q_guard_addGuard(QGuard<QObject> *);
- friend void q_guard_removeGuard(QGuard<QObject> *);
- friend class QObjectPrivate;
-public:
- inline QGuard();
- inline QGuard(T *);
- inline QGuard(const QGuard<T> &);
- inline virtual ~QGuard();
-
- inline QGuard<T> &operator=(const QGuard<T> &o);
- inline QGuard<T> &operator=(T *);
-
- inline bool isNull() const
- { return !o; }
-
- inline T* operator->() const
- { return static_cast<T*>(const_cast<QObject*>(o)); }
- inline T& operator*() const
- { return *static_cast<T*>(const_cast<QObject*>(o)); }
- inline operator T*() const
- { return static_cast<T*>(const_cast<QObject*>(o)); }
- inline T* data() const
- { return static_cast<T*>(const_cast<QObject*>(o)); }
-
-protected:
- virtual void objectDestroyed(T *) {}
-};
-
-QT_END_NAMESPACE
-
-#include "private/qobject_p.h"
-
-QT_BEGIN_NAMESPACE
-
-inline void q_guard_addGuard(QGuard<QObject> *);
-inline void q_guard_removeGuard(QGuard<QObject> *);
-
-template<class T>
-QGuard<T>::QGuard()
-: o(0), next(0), prev(0)
-{
-}
-
-template<class T>
-QGuard<T>::QGuard(T *g)
-: o(g), next(0), prev(0)
-{
- if (o) q_guard_addGuard(reinterpret_cast<QGuard<QObject> *>(this));
-}
-
-template<class T>
-QGuard<T>::QGuard(const QGuard<T> &g)
-: o(g.o), next(0), prev(0)
-{
- if (o) q_guard_addGuard(reinterpret_cast<QGuard<QObject> *>(this));
-}
-
-template<class T>
-QGuard<T>::~QGuard()
-{
- if (prev) q_guard_removeGuard(reinterpret_cast<QGuard<QObject> *>(this));
- o = 0;
-}
-
-template<class T>
-QGuard<T> &QGuard<T>::operator=(const QGuard<T> &g)
-{
- if (g.o != o) {
- if (prev)
- q_guard_removeGuard(reinterpret_cast<QGuard<QObject> *>(this));
- o = g.o;
- if (o) q_guard_addGuard(reinterpret_cast<QGuard<QObject> *>(this));
- }
- return *this;
-}
-
-template<class T>
-inline QGuard<T> &QGuard<T>::operator=(T *g)
-{
- if (g != o) {
- if (prev)
- q_guard_removeGuard(reinterpret_cast<QGuard<QObject> *>(this));
- o = g;
- if (o) q_guard_addGuard(reinterpret_cast<QGuard<QObject> *>(this));
- }
- return *this;
-}
-
-QT_END_NAMESPACE
-
-#endif // QGUARD_P_H
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp
index 68f34ca..dbc6be2 100644
--- a/src/corelib/kernel/qobject.cpp
+++ b/src/corelib/kernel/qobject.cpp
@@ -496,15 +496,6 @@ void QMetaObject::changeGuard(QObject **ptr, QObject *o)
void QObjectPrivate::clearGuards(QObject *object)
{
QObjectPrivate *priv = QObjectPrivate::get(object);
- QGuard<QObject> *guard = priv->extraData ? priv->extraData->objectGuards : 0;
- while (guard) {
- QGuard<QObject> *g = guard;
- guard = guard->next;
- g->o = 0;
- g->prev = 0;
- g->next = 0;
- g->objectDestroyed(object);
- }
if (!priv->hasGuards)
return;
diff --git a/src/corelib/kernel/qobject_p.h b/src/corelib/kernel/qobject_p.h
index 20e3da1..3b59abb 100644
--- a/src/corelib/kernel/qobject_p.h
+++ b/src/corelib/kernel/qobject_p.h
@@ -60,7 +60,6 @@
#include "QtCore/qvector.h"
#include "QtCore/qreadwritelock.h"
#include "QtCore/qvariant.h"
-#include "private/qguard_p.h"
QT_BEGIN_NAMESPACE
@@ -100,13 +99,12 @@ class Q_CORE_EXPORT QObjectPrivate : public QObjectData
public:
struct ExtraData
{
- ExtraData() : objectGuards(0) {}
+ ExtraData() {}
#ifndef QT_NO_USERDATA
QVector<QObjectUserData *> userData;
#endif
QList<QByteArray> propertyNames;
QList<QVariant> propertyValues;
- QGuard<QObject> *objectGuards; //linked list handle of QGuards
};
struct Connection
@@ -224,33 +222,6 @@ inline bool QObjectPrivate::isSignalConnected(uint signal_index) const
}
-inline void q_guard_addGuard(QGuard<QObject> *g)
-{
- QObjectPrivate *p = QObjectPrivate::get(g->o);
- if (p->wasDeleted) {
- qWarning("QGuard: cannot add guard to deleted object");
- g->o = 0;
- return;
- }
-
- if (!p->extraData)
- p->extraData = new QObjectPrivate::ExtraData;
-
- g->next = p->extraData->objectGuards;
- p->extraData->objectGuards = g;
- g->prev = &p->extraData->objectGuards;
- if (g->next)
- g->next->prev = &g->next;
-}
-
-inline void q_guard_removeGuard(QGuard<QObject> *g)
-{
- if (g->next) g->next->prev = g->prev;
- *g->prev = g->next;
- g->next = 0;
- g->prev = 0;
-}
-
Q_DECLARE_TYPEINFO(QObjectPrivate::Connection, Q_MOVABLE_TYPE);
Q_DECLARE_TYPEINFO(QObjectPrivate::Sender, Q_MOVABLE_TYPE);
diff --git a/src/corelib/tools/qelapsedtimer_unix.cpp b/src/corelib/tools/qelapsedtimer_unix.cpp
index 85d7fa8..2c4ea58 100644
--- a/src/corelib/tools/qelapsedtimer_unix.cpp
+++ b/src/corelib/tools/qelapsedtimer_unix.cpp
@@ -74,7 +74,7 @@ bool QElapsedTimer::isMonotonic()
static int returnValue = 0;
if (returnValue == 0) {
-# if (_POSIX_MONOTONIC_CLOCK-0 < 0)
+# if (_POSIX_MONOTONIC_CLOCK-0 < 0) || !defined(_SC_MONOTONIC_CLOCK)
returnValue = -1;
# elif (_POSIX_MONOTONIC_CLOCK == 0)
// detect if the system support monotonic timers
@@ -97,19 +97,19 @@ static inline QPair<long, long> do_gettime()
#if (_POSIX_MONOTONIC_CLOCK-0 > 0)
timespec ts;
clock_gettime(CLOCK_MONOTONIC, &ts);
- return qMakePair(ts.tv_sec, ts.tv_nsec);
+ return qMakePair<long,long>(ts.tv_sec, ts.tv_nsec);
#else
# if !defined(QT_NO_CLOCK_MONOTONIC) && !defined(QT_BOOTSTRAPPED)
if (QElapsedTimer::isMonotonic()) {
timespec ts;
clock_gettime(CLOCK_MONOTONIC, &ts);
- return qMakePair(ts.tv_sec, ts.tv_nsec);
+ return qMakePair<long,long>(ts.tv_sec, ts.tv_nsec);
}
# endif
// use gettimeofday
timeval tv;
::gettimeofday(&tv, 0);
- return qMakePair(tv.tv_sec, tv.tv_usec);
+ return qMakePair<long,long>(tv.tv_sec, tv.tv_usec);
#endif
}