summaryrefslogtreecommitdiffstats
path: root/src/script
diff options
context:
space:
mode:
Diffstat (limited to 'src/script')
-rw-r--r--src/script/api/qscriptable.cpp2
-rw-r--r--src/script/api/qscriptable.h4
-rw-r--r--src/script/api/qscriptclass.cpp2
-rw-r--r--src/script/api/qscriptclass.h3
-rw-r--r--src/script/api/qscriptclasspropertyiterator.cpp2
-rw-r--r--src/script/api/qscriptclasspropertyiterator.h3
-rw-r--r--src/script/api/qscriptcontext.h1
-rw-r--r--src/script/api/qscriptcontextinfo.cpp19
-rw-r--r--src/script/api/qscriptcontextinfo.h3
-rw-r--r--src/script/api/qscriptengine.cpp18
-rw-r--r--src/script/api/qscriptengine.h5
-rw-r--r--src/script/api/qscriptengineagent.cpp4
-rw-r--r--src/script/api/qscriptengineagent.h3
-rw-r--r--src/script/api/qscriptstring.cpp15
-rw-r--r--src/script/api/qscriptstring.h5
-rw-r--r--src/script/api/qscriptvalue.cpp37
-rw-r--r--src/script/api/qscriptvalue.h8
-rw-r--r--src/script/api/qscriptvalue_p.h2
-rw-r--r--src/script/api/qscriptvalueiterator.cpp18
-rw-r--r--src/script/api/qscriptvalueiterator.h4
-rw-r--r--src/script/script.pro1
21 files changed, 41 insertions, 118 deletions
diff --git a/src/script/api/qscriptable.cpp b/src/script/api/qscriptable.cpp
index eb5972c..6427247 100644
--- a/src/script/api/qscriptable.cpp
+++ b/src/script/api/qscriptable.cpp
@@ -110,8 +110,6 @@ QScriptable::QScriptable()
*/
QScriptable::~QScriptable()
{
- delete d_ptr;
- d_ptr = 0;
}
/*!
diff --git a/src/script/api/qscriptable.h b/src/script/api/qscriptable.h
index 5434cd9..93a91c6 100644
--- a/src/script/api/qscriptable.h
+++ b/src/script/api/qscriptable.h
@@ -44,6 +44,8 @@
#include <QtCore/qobjectdefs.h>
+#include <QtCore/qscopedpointer.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -71,7 +73,7 @@ public:
QScriptValue argument(int index) const;
private:
- QScriptablePrivate *d_ptr;
+ QScopedPointer<QScriptablePrivate> d_ptr;
Q_DISABLE_COPY(QScriptable)
Q_DECLARE_PRIVATE(QScriptable)
diff --git a/src/script/api/qscriptclass.cpp b/src/script/api/qscriptclass.cpp
index cff6ce5..f96a5bc 100644
--- a/src/script/api/qscriptclass.cpp
+++ b/src/script/api/qscriptclass.cpp
@@ -174,8 +174,6 @@ QScriptClass::QScriptClass(QScriptEngine *engine, QScriptClassPrivate &dd)
*/
QScriptClass::~QScriptClass()
{
- delete d_ptr;
- d_ptr = 0;
}
/*!
diff --git a/src/script/api/qscriptclass.h b/src/script/api/qscriptclass.h
index ad41ada..ec60ab7 100644
--- a/src/script/api/qscriptclass.h
+++ b/src/script/api/qscriptclass.h
@@ -45,6 +45,7 @@
#include <QtCore/qstring.h>
#include <QtCore/qvariant.h>
+#include <QtCore/qscopedpointer.h>
#include <QtScript/qscriptvalue.h>
QT_BEGIN_HEADER
@@ -101,7 +102,7 @@ public:
protected:
QScriptClass(QScriptEngine *engine, QScriptClassPrivate &dd);
- QScriptClassPrivate *d_ptr;
+ QScopedPointer<QScriptClassPrivate> d_ptr;
private:
Q_DECLARE_PRIVATE(QScriptClass)
diff --git a/src/script/api/qscriptclasspropertyiterator.cpp b/src/script/api/qscriptclasspropertyiterator.cpp
index 4efbc19..a9c537e 100644
--- a/src/script/api/qscriptclasspropertyiterator.cpp
+++ b/src/script/api/qscriptclasspropertyiterator.cpp
@@ -112,8 +112,6 @@ QScriptClassPropertyIterator::QScriptClassPropertyIterator(const QScriptValue &o
*/
QScriptClassPropertyIterator::~QScriptClassPropertyIterator()
{
- delete d_ptr;
- d_ptr = 0;
}
/*!
diff --git a/src/script/api/qscriptclasspropertyiterator.h b/src/script/api/qscriptclasspropertyiterator.h
index de416be..fdf1378 100644
--- a/src/script/api/qscriptclasspropertyiterator.h
+++ b/src/script/api/qscriptclasspropertyiterator.h
@@ -44,6 +44,7 @@
#include <QtCore/qstring.h>
+#include <QtCore/qscopedpointer.h>
#include <QtScript/qscriptvalue.h>
QT_BEGIN_HEADER
@@ -78,7 +79,7 @@ public:
protected:
QScriptClassPropertyIterator(const QScriptValue &object, QScriptClassPropertyIteratorPrivate &dd);
- QScriptClassPropertyIteratorPrivate *d_ptr;
+ QScopedPointer<QScriptClassPropertyIteratorPrivate> d_ptr;
private:
Q_DECLARE_PRIVATE(QScriptClassPropertyIterator)
diff --git a/src/script/api/qscriptcontext.h b/src/script/api/qscriptcontext.h
index 53d07cc..2eb0c85 100644
--- a/src/script/api/qscriptcontext.h
+++ b/src/script/api/qscriptcontext.h
@@ -44,6 +44,7 @@
#include <QtCore/qobjectdefs.h>
+#include <QtCore/qscopedpointer.h>
#include <QtScript/qscriptvalue.h>
QT_BEGIN_HEADER
diff --git a/src/script/api/qscriptcontextinfo.cpp b/src/script/api/qscriptcontextinfo.cpp
index 0049680..e59b773 100644
--- a/src/script/api/qscriptcontextinfo.cpp
+++ b/src/script/api/qscriptcontextinfo.cpp
@@ -235,13 +235,11 @@ QScriptContextInfoPrivate::~QScriptContextInfoPrivate()
previously created QScriptContextInfo.
*/
QScriptContextInfo::QScriptContextInfo(const QScriptContext *context)
+ : d_ptr(0)
{
if (context) {
d_ptr = new QScriptContextInfoPrivate(context);
d_ptr->q_ptr = this;
- d_ptr->ref.ref();
- } else {
- d_ptr = 0;
}
}
@@ -251,8 +249,6 @@ QScriptContextInfo::QScriptContextInfo(const QScriptContext *context)
QScriptContextInfo::QScriptContextInfo(const QScriptContextInfo &other)
: d_ptr(other.d_ptr)
{
- if (d_ptr)
- d_ptr->ref.ref();
}
/*!
@@ -270,10 +266,6 @@ QScriptContextInfo::QScriptContextInfo()
*/
QScriptContextInfo::~QScriptContextInfo()
{
- if (d_ptr && !d_ptr->ref.deref()) {
- delete d_ptr;
- d_ptr = 0;
- }
}
/*!
@@ -282,15 +274,7 @@ QScriptContextInfo::~QScriptContextInfo()
*/
QScriptContextInfo &QScriptContextInfo::operator=(const QScriptContextInfo &other)
{
- if (d_ptr == other.d_ptr)
- return *this;
- if (d_ptr && !d_ptr->ref.deref()) {
- delete d_ptr;
- d_ptr = 0;
- }
d_ptr = other.d_ptr;
- if (d_ptr)
- d_ptr->ref.ref();
return *this;
}
@@ -542,7 +526,6 @@ Q_SCRIPT_EXPORT QDataStream &operator>>(QDataStream &in, QScriptContextInfo &inf
{
if (!info.d_ptr) {
info.d_ptr = new QScriptContextInfoPrivate();
- info.d_ptr->ref.ref();
}
in >> info.d_ptr->scriptId;
diff --git a/src/script/api/qscriptcontextinfo.h b/src/script/api/qscriptcontextinfo.h
index 78ac2a8..bf37cd7 100644
--- a/src/script/api/qscriptcontextinfo.h
+++ b/src/script/api/qscriptcontextinfo.h
@@ -46,6 +46,7 @@
#include <QtCore/qlist.h>
#include <QtCore/qstringlist.h>
+#include <QtCore/qsharedpointer.h>
QT_BEGIN_HEADER
@@ -102,7 +103,7 @@ public:
bool operator!=(const QScriptContextInfo &other) const;
private:
- QScriptContextInfoPrivate *d_ptr;
+ QExplicitlySharedDataPointer<QScriptContextInfoPrivate> d_ptr;
Q_DECLARE_PRIVATE(QScriptContextInfo)
};
diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp
index 6fde08f..131fe28 100644
--- a/src/script/api/qscriptengine.cpp
+++ b/src/script/api/qscriptengine.cpp
@@ -634,7 +634,7 @@ JSC::JSValue JSC_HOST_CALL functionPrint(JSC::ExecState* exec, JSC::JSObject*, J
}
if (exec->hadException())
return exec->exception();
- qDebug(qPrintable(result));
+ qDebug("%s", qPrintable(result));
return JSC::jsUndefined();
}
@@ -3744,8 +3744,6 @@ QScriptValue QScriptEngine::objectById(qint64 id) const
QScriptSyntaxCheckResult::QScriptSyntaxCheckResult(const QScriptSyntaxCheckResult &other)
: d_ptr(other.d_ptr)
{
- if (d_ptr)
- d_ptr->ref.ref();
}
/*!
@@ -3754,8 +3752,6 @@ QScriptSyntaxCheckResult::QScriptSyntaxCheckResult(const QScriptSyntaxCheckResul
QScriptSyntaxCheckResult::QScriptSyntaxCheckResult(QScriptSyntaxCheckResultPrivate *d)
: d_ptr(d)
{
- if (d_ptr)
- d_ptr->ref.ref();
}
/*!
@@ -3771,10 +3767,6 @@ QScriptSyntaxCheckResult::QScriptSyntaxCheckResult()
*/
QScriptSyntaxCheckResult::~QScriptSyntaxCheckResult()
{
- if (d_ptr && !d_ptr->ref.deref()) {
- delete d_ptr;
- d_ptr = 0;
- }
}
/*!
@@ -3836,15 +3828,7 @@ QString QScriptSyntaxCheckResult::errorMessage() const
*/
QScriptSyntaxCheckResult &QScriptSyntaxCheckResult::operator=(const QScriptSyntaxCheckResult &other)
{
- if (d_ptr == other.d_ptr)
- return *this;
- if (d_ptr && !d_ptr->ref.deref()) {
- delete d_ptr;
- d_ptr = 0;
- }
d_ptr = other.d_ptr;
- if (d_ptr)
- d_ptr->ref.ref();
return *this;
}
diff --git a/src/script/api/qscriptengine.h b/src/script/api/qscriptengine.h
index 689c05a..bdda3d6 100644
--- a/src/script/api/qscriptengine.h
+++ b/src/script/api/qscriptengine.h
@@ -45,6 +45,7 @@
#include <QtCore/qmetatype.h>
#include <QtCore/qvariant.h>
+#include <QtCore/qsharedpointer.h>
#ifndef QT_NO_QOBJECT
#include <QtCore/qobject.h>
@@ -112,7 +113,7 @@ public:
private:
QScriptSyntaxCheckResult();
QScriptSyntaxCheckResult(QScriptSyntaxCheckResultPrivate *d);
- QScriptSyntaxCheckResultPrivate *d_ptr;
+ QExplicitlySharedDataPointer<QScriptSyntaxCheckResultPrivate> d_ptr;
Q_DECLARE_PRIVATE(QScriptSyntaxCheckResult)
friend class QScriptEngine;
@@ -281,7 +282,7 @@ private:
protected:
#ifdef QT_NO_QOBJECT
- QScriptEnginePrivate *d_ptr;
+ QScopedPointer<QScriptEnginePrivate> d_ptr;
QScriptEngine(QScriptEnginePrivate &dd);
#else
diff --git a/src/script/api/qscriptengineagent.cpp b/src/script/api/qscriptengineagent.cpp
index 6417ed8..b18f29d 100644
--- a/src/script/api/qscriptengineagent.cpp
+++ b/src/script/api/qscriptengineagent.cpp
@@ -230,9 +230,7 @@ QScriptEngineAgent::QScriptEngineAgent(QScriptEngineAgentPrivate &dd, QScriptEng
*/
QScriptEngineAgent::~QScriptEngineAgent()
{
- d_ptr->engine->agentDeleted(this);
- delete d_ptr;
- d_ptr = 0;
+ d_ptr->engine->agentDeleted(this); //### TODO: Can this throw?
}
/*!
diff --git a/src/script/api/qscriptengineagent.h b/src/script/api/qscriptengineagent.h
index 60c1ed6..250a310 100644
--- a/src/script/api/qscriptengineagent.h
+++ b/src/script/api/qscriptengineagent.h
@@ -45,6 +45,7 @@
#include <QtCore/qobjectdefs.h>
#include <QtCore/qvariant.h>
+#include <QtCore/qscopedpointer.h>
QT_BEGIN_HEADER
@@ -94,7 +95,7 @@ public:
protected:
QScriptEngineAgent(QScriptEngineAgentPrivate &dd, QScriptEngine *engine);
- QScriptEngineAgentPrivate *d_ptr;
+ QScopedPointer<QScriptEngineAgentPrivate> d_ptr;
private:
Q_DECLARE_PRIVATE(QScriptEngineAgent)
diff --git a/src/script/api/qscriptstring.cpp b/src/script/api/qscriptstring.cpp
index bcafa44..b9c26f8 100644
--- a/src/script/api/qscriptstring.cpp
+++ b/src/script/api/qscriptstring.cpp
@@ -46,7 +46,6 @@
QT_BEGIN_NAMESPACE
-
/*!
\since 4.4
\class QScriptString
@@ -94,7 +93,6 @@ void QScriptStringPrivate::init(QScriptString &q, QScriptEngine *engine, const J
q.d_ptr = new QScriptStringPrivate();
q.d_ptr->identifier = value;
q.d_ptr->engine = engine;
- q.d_ptr->ref.ref();
}
/*!
@@ -111,8 +109,6 @@ QScriptString::QScriptString()
QScriptString::QScriptString(const QScriptString &other)
: d_ptr(other.d_ptr)
{
- if (d_ptr)
- d_ptr->ref.ref();
}
/*!
@@ -120,10 +116,6 @@ QScriptString::QScriptString(const QScriptString &other)
*/
QScriptString::~QScriptString()
{
- if (d_ptr && !d_ptr->ref.deref()) {
- delete d_ptr;
- d_ptr = 0;
- }
}
/*!
@@ -131,14 +123,7 @@ QScriptString::~QScriptString()
*/
QScriptString &QScriptString::operator=(const QScriptString &other)
{
- if (d_ptr == other.d_ptr)
- return *this;
- if (d_ptr && !d_ptr->ref.deref()) {
- delete d_ptr;
- }
d_ptr = other.d_ptr;
- if (d_ptr)
- d_ptr->ref.ref();
return *this;
}
diff --git a/src/script/api/qscriptstring.h b/src/script/api/qscriptstring.h
index e42c3e3..b216703 100644
--- a/src/script/api/qscriptstring.h
+++ b/src/script/api/qscriptstring.h
@@ -44,6 +44,8 @@
#include <QtCore/qstring.h>
+#include <QtCore/qsharedpointer.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -52,6 +54,7 @@ QT_MODULE(Script)
class QScriptEngine;
class QScriptStringPrivate;
+struct QScriptStringPrivatePointerDeleter;
class Q_SCRIPT_EXPORT QScriptString
{
@@ -71,7 +74,7 @@ public:
operator QString() const;
private:
- QScriptStringPrivate *d_ptr;
+ QExplicitlySharedDataPointer<QScriptStringPrivate> d_ptr;
friend class QScriptValue;
Q_DECLARE_PRIVATE(QScriptString)
};
diff --git a/src/script/api/qscriptvalue.cpp b/src/script/api/qscriptvalue.cpp
index 7b28e37..c344aed 100644
--- a/src/script/api/qscriptvalue.cpp
+++ b/src/script/api/qscriptvalue.cpp
@@ -282,6 +282,8 @@ QScriptValuePrivate::QScriptValuePrivate() : engine(0), prev(0), next(0)
QScriptValuePrivate::~QScriptValuePrivate()
{
+ if (engine)
+ engine->unregisterScriptValue(this);
}
void QScriptValuePrivate::initFrom(JSC::JSValue value)
@@ -416,11 +418,6 @@ QScriptValue::QScriptValue()
*/
QScriptValue::~QScriptValue()
{
- if (d_ptr && !d_ptr->ref.deref()) {
- if (d_ptr->engine)
- d_ptr->engine->unregisterScriptValue(d_ptr);
- delete d_ptr;
- }
}
/*!
@@ -433,8 +430,6 @@ QScriptValue::~QScriptValue()
QScriptValue::QScriptValue(const QScriptValue &other)
: d_ptr(other.d_ptr)
{
- if (d_ptr)
- d_ptr->ref.ref();
}
/*!
@@ -455,7 +450,6 @@ QScriptValue::QScriptValue(QScriptEngine *engine, QScriptValue::SpecialValue val
d_ptr->initFrom(JSC::jsUndefined());
break;
}
- d_ptr->ref.ref();
}
/*!
@@ -471,7 +465,6 @@ QScriptValue::QScriptValue(QScriptEngine *engine, bool val)
{
d_ptr->engine = QScriptEnginePrivate::get(engine);
d_ptr->initFrom(JSC::jsBoolean(val));
- d_ptr->ref.ref();
}
/*!
@@ -495,7 +488,6 @@ QScriptValue::QScriptValue(QScriptEngine *engine, int val)
else
d_ptr->initFrom(val);
}
- d_ptr->ref.ref();
}
/*!
@@ -519,7 +511,6 @@ QScriptValue::QScriptValue(QScriptEngine *engine, uint val)
else
d_ptr->initFrom(val);
}
- d_ptr->ref.ref();
}
/*!
@@ -543,7 +534,6 @@ QScriptValue::QScriptValue(QScriptEngine *engine, qsreal val)
else
d_ptr->initFrom(val);
}
- d_ptr->ref.ref();
}
/*!
@@ -563,7 +553,6 @@ QScriptValue::QScriptValue(QScriptEngine *engine, const QString &val)
} else {
d_ptr->initFrom(val);
}
- d_ptr->ref.ref();
}
/*!
@@ -585,7 +574,6 @@ QScriptValue::QScriptValue(QScriptEngine *engine, const char *val)
} else {
d_ptr->initFrom(QString::fromAscii(val));
}
- d_ptr->ref.ref();
}
#endif
@@ -606,7 +594,6 @@ QScriptValue::QScriptValue(SpecialValue value)
d_ptr->initFrom(JSC::jsUndefined());
break;
}
- d_ptr->ref.ref();
}
/*!
@@ -619,7 +606,6 @@ QScriptValue::QScriptValue(bool value)
{
d_ptr->engine = 0;
d_ptr->initFrom(JSC::jsBoolean(value));
- d_ptr->ref.ref();
}
/*!
@@ -636,7 +622,6 @@ QScriptValue::QScriptValue(int value)
d_ptr->initFrom(immediate);
else
d_ptr->initFrom(value);
- d_ptr->ref.ref();
}
/*!
@@ -653,7 +638,6 @@ QScriptValue::QScriptValue(uint value)
d_ptr->initFrom(immediate);
else
d_ptr->initFrom(value);
- d_ptr->ref.ref();
}
/*!
@@ -670,7 +654,6 @@ QScriptValue::QScriptValue(qsreal value)
d_ptr->initFrom(immediate);
else
d_ptr->initFrom(value);
- d_ptr->ref.ref();
}
/*!
@@ -683,7 +666,6 @@ QScriptValue::QScriptValue(const QString &value)
{
d_ptr->engine = 0;
d_ptr->initFrom(value);
- d_ptr->ref.ref();
}
/*!
@@ -696,7 +678,6 @@ QScriptValue::QScriptValue(const QLatin1String &value)
{
d_ptr->engine = 0;
d_ptr->initFrom(value);
- d_ptr->ref.ref();
}
/*!
@@ -711,7 +692,6 @@ QScriptValue::QScriptValue(const char *value)
{
d_ptr->engine = 0;
d_ptr->initFrom(QString::fromAscii(value));
- d_ptr->ref.ref();
}
#endif
@@ -724,16 +704,7 @@ QScriptValue::QScriptValue(const char *value)
*/
QScriptValue &QScriptValue::operator=(const QScriptValue &other)
{
- if (d_ptr == other.d_ptr)
- return *this;
- if (d_ptr && !d_ptr->ref.deref()) {
- if (d_ptr->engine)
- d_ptr->engine->unregisterScriptValue(d_ptr);
- delete d_ptr;
- }
d_ptr = other.d_ptr;
- if (d_ptr)
- d_ptr->ref.ref();
return *this;
}
@@ -1125,7 +1096,7 @@ bool QScriptValue::equals(const QScriptValue &other) const
{
Q_D(const QScriptValue);
if (!d || !other.d_ptr)
- return (d == other.d_ptr);
+ return (d_ptr == other.d_ptr);
if (other.engine() && engine() && (other.engine() != engine())) {
qWarning("QScriptValue::equals: "
"cannot compare to a value created in "
@@ -1179,7 +1150,7 @@ bool QScriptValue::strictlyEquals(const QScriptValue &other) const
{
Q_D(const QScriptValue);
if (!d || !other.d_ptr)
- return (d == other.d_ptr);
+ return (d_ptr == other.d_ptr);
if (other.engine() && engine() && (other.engine() != engine())) {
qWarning("QScriptValue::strictlyEquals: "
"cannot compare to a value created in "
diff --git a/src/script/api/qscriptvalue.h b/src/script/api/qscriptvalue.h
index be59508..67b9514 100644
--- a/src/script/api/qscriptvalue.h
+++ b/src/script/api/qscriptvalue.h
@@ -45,6 +45,7 @@
#include <QtCore/qstring.h>
#include <QtCore/qlist.h>
+#include <QtCore/qsharedpointer.h>
QT_BEGIN_HEADER
@@ -69,6 +70,7 @@ typedef QList<QScriptValue> QScriptValueList;
typedef double qsreal;
class QScriptValuePrivate;
+struct QScriptValuePrivatePointerDeleter;
class Q_SCRIPT_EXPORT QScriptValue
{
public:
@@ -214,12 +216,12 @@ public:
private:
// force compile error, prevent QScriptValue(bool) to be called
- inline QScriptValue(void *) { Q_ASSERT(false); }
+ inline QScriptValue(void *);
// force compile error, prevent QScriptValue(QScriptEngine*, bool) to be called
- inline QScriptValue(QScriptEngine *, void *) { Q_ASSERT(false); }
+ inline QScriptValue(QScriptEngine *, void *);
private:
- QScriptValuePrivate *d_ptr;
+ QExplicitlySharedDataPointer<QScriptValuePrivate> d_ptr;
Q_DECLARE_PRIVATE(QScriptValue)
};
diff --git a/src/script/api/qscriptvalue_p.h b/src/script/api/qscriptvalue_p.h
index e05259e..bab59fe 100644
--- a/src/script/api/qscriptvalue_p.h
+++ b/src/script/api/qscriptvalue_p.h
@@ -88,7 +88,7 @@ public:
static QScriptValuePrivate *get(const QScriptValue &q)
{
- return q.d_ptr;
+ return q.d_ptr.data();
}
static QScriptValue toPublic(QScriptValuePrivate *d)
diff --git a/src/script/api/qscriptvalueiterator.cpp b/src/script/api/qscriptvalueiterator.cpp
index 195a23b..125ce86 100644
--- a/src/script/api/qscriptvalueiterator.cpp
+++ b/src/script/api/qscriptvalueiterator.cpp
@@ -133,11 +133,10 @@ public:
first property).
*/
QScriptValueIterator::QScriptValueIterator(const QScriptValue &object)
+ : d_ptr(0)
{
- if (!object.isObject()) {
- d_ptr = 0;
- } else {
- d_ptr = new QScriptValueIteratorPrivate();
+ if (object.isObject()) {
+ d_ptr.reset(new QScriptValueIteratorPrivate());
d_ptr->object = object;
}
}
@@ -147,10 +146,6 @@ QScriptValueIterator::QScriptValueIterator(const QScriptValue &object)
*/
QScriptValueIterator::~QScriptValueIterator()
{
- if (d_ptr) {
- delete d_ptr;
- d_ptr = 0;
- }
}
/*!
@@ -346,12 +341,9 @@ void QScriptValueIterator::remove()
*/
QScriptValueIterator& QScriptValueIterator::operator=(QScriptValue &object)
{
- if (d_ptr) {
- delete d_ptr;
- d_ptr = 0;
- }
+ d_ptr.reset();
if (object.isObject()) {
- d_ptr = new QScriptValueIteratorPrivate();
+ d_ptr.reset(new QScriptValueIteratorPrivate());
d_ptr->object = object;
}
return *this;
diff --git a/src/script/api/qscriptvalueiterator.h b/src/script/api/qscriptvalueiterator.h
index ce79fe0..db5a480 100644
--- a/src/script/api/qscriptvalueiterator.h
+++ b/src/script/api/qscriptvalueiterator.h
@@ -44,6 +44,8 @@
#include <QtScript/qscriptvalue.h>
+#include <QtCore/qscopedpointer.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -82,7 +84,7 @@ public:
QScriptValueIterator& operator=(QScriptValue &value);
private:
- QScriptValueIteratorPrivate *d_ptr;
+ QScopedPointer<QScriptValueIteratorPrivate> d_ptr;
Q_DECLARE_PRIVATE(QScriptValueIterator)
Q_DISABLE_COPY(QScriptValueIterator)
diff --git a/src/script/script.pro b/src/script/script.pro
index 03dc341..5844620 100644
--- a/src/script/script.pro
+++ b/src/script/script.pro
@@ -74,3 +74,4 @@ INCLUDEPATH += $$PWD
include(script.pri)
+symbian:TARGET.UID3=0x2001B2E1