[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: koffice/krita/image
From: Cyrille Berger <cyb () lepi ! org>
Date: 2010-01-31 22:56:40
Message-ID: 1264978600.238046.32635.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1083274 by berger:
move ref/deref to functions
M +11 -5 kis_shared.h
M +11 -5 kis_shared_data.h
M +3 -3 kis_shared_ptr.h
--- trunk/koffice/krita/image/kis_shared.h #1083273:1083274
@@ -27,17 +27,23 @@
class KRITAIMAGE_EXPORT KisShared
{
-#if QT_VERSION < 0x040400
-private:
- typedef QAtomic QAtomicInt;
-#endif
friend class KisSharedData;
protected:
KisShared();
~KisShared();
public:
- QAtomicInt ref;
KisSharedPtr< KisSharedData > dataPtr;
+ int refCount() {
+ return _ref;
+ }
+ bool ref() {
+ return _ref.ref();
+ }
+ bool deref() {
+ return _ref.deref();
+ }
+private:
+ QAtomicInt _ref;
};
#endif
--- trunk/koffice/krita/image/kis_shared_data.h #1083273:1083274
@@ -26,14 +26,20 @@
*/
class KisSharedData
{
-#if QT_VERSION < 0x040400
-private:
- typedef QAtomic QAtomicInt;
-#endif
public:
KisSharedData() : valid(true) { }
- QAtomicInt ref;
bool valid;
+ int refCount() {
+ return _ref;
+ }
+ bool ref() {
+ return _ref.ref();
+ }
+ bool deref() {
+ return _ref.deref();
+ }
+private:
+ QAtomicInt _ref;
};
--- trunk/koffice/krita/image/kis_shared_ptr.h #1083273:1083274
@@ -207,14 +207,14 @@
#ifndef NDEBUG
KisMemoryLeakTracker::instance()->reference(d, this);
#endif
- return d->ref.ref();
+ return d->ref();
}
inline bool deref() const
{
#ifndef NDEBUG
KisMemoryLeakTracker::instance()->dereference(d, this);
#endif
- return d->ref.deref();
+ return d->deref();
}
private:
mutable T* d;
@@ -376,10 +376,10 @@
Q_INLINE_TEMPLATE void KisSharedPtr<T>::attach(T* p) const
{
if (d != p) {
- if (p) p->ref.ref();
if (d && !deref())
delete d;
d = p;
+ if (d) ref();
}
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic