summaryrefslogtreecommitdiffstats
path: root/src/scripttools/debugging/qscriptvalueproperty.cpp
diff options
context:
space:
mode:
authorRobert Griebl <rgriebl@trolltech.com>2009-06-10 13:46:23 +0200
committerRobert Griebl <rgriebl@trolltech.com>2009-06-10 13:46:23 +0200
commit7604f8087f88171ef933d8ae08f501467e647338 (patch)
tree51d071f462ed48d0b25884d9f62b8ba11c5dff13 /src/scripttools/debugging/qscriptvalueproperty.cpp
parent8c265860b41214daade7c8a28237c1e07ea71a3c (diff)
Make Qt exception safer.
Squashed commit of the branch haralds-haralds-qt-s60-topics/topic/exceptions, which also contains the full history. Rev-By: Harald Fernengel Rev-By: Ralf Engels
Diffstat (limited to 'src/scripttools/debugging/qscriptvalueproperty.cpp')
-rw-r--r--src/scripttools/debugging/qscriptvalueproperty.cpp14
1 files changed, 2 insertions, 12 deletions
diff --git a/src/scripttools/debugging/qscriptvalueproperty.cpp b/src/scripttools/debugging/qscriptvalueproperty.cpp
index 245edc352a..75cfdd7afd 100644
--- a/src/scripttools/debugging/qscriptvalueproperty.cpp
+++ b/src/scripttools/debugging/qscriptvalueproperty.cpp
@@ -95,7 +95,7 @@ QScriptValueProperty::QScriptValueProperty(const QString &name,
Constructs a QScriptValueProperty that is a copy of the \a other property.
*/
QScriptValueProperty::QScriptValueProperty(const QScriptValueProperty &other)
- : d_ptr(other.d_ptr)
+ : d_ptr(other.d_ptr.data())
{
if (d_ptr)
d_ptr->ref.ref();
@@ -106,10 +106,6 @@ QScriptValueProperty::QScriptValueProperty(const QScriptValueProperty &other)
*/
QScriptValueProperty::~QScriptValueProperty()
{
- if (d_ptr && !d_ptr->ref.deref()) {
- delete d_ptr;
- d_ptr = 0;
- }
}
/*!
@@ -117,13 +113,7 @@ QScriptValueProperty::~QScriptValueProperty()
*/
QScriptValueProperty &QScriptValueProperty::operator=(const QScriptValueProperty &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();
+ d_ptr.assign(other.d_ptr.data());
return *this;
}