Update of /cvsroot/mahogany/M/src/classes
In directory sc8-pr-cvs1:/tmp/cvs-serv25005/src/classes
Modified Files:
MObject.cpp
Log Message:
Resolved conflicts in pointers.h and added (not yet usable) WeakPtr
Index: MObject.cpp
===================================================================
RCS file: /cvsroot/mahogany/M/src/classes/MObject.cpp,v
retrieving revision 1.27
retrieving revision 1.28
diff -b -u -2 -r1.27 -r1.28
--- MObject.cpp 7 Oct 2003 09:05:49 -0000 1.27
+++ MObject.cpp 9 Oct 2003 16:39:09 -0000 1.28
@@ -97,4 +97,5 @@
gs_aObjects.Add(this);
m_nRef = 1;
+ m_weak = 0;
}
@@ -173,2 +174,29 @@
}
+class WeakRefCounter : public MObjectRC
+{
+public:
+ WeakRefCounter() : m_deleted(false) {}
+ bool m_deleted;
+};
+
+extern WeakRefCounter *WeakRefAdd(MObjectRC *pointer)
+{
+ if( !pointer->m_weak )
+ pointer->m_weak = new WeakRefCounter;
+ else
+ pointer->m_weak->IncRef();
+
+ return pointer->m_weak;
+}
+
+extern void WeakRefRemove(WeakRefCounter *counter)
+{
+ counter->DecRef();
+}
+
+extern void WeakRefDeleted(WeakRefCounter *counter)
+{
+ if( counter )
+ counter->m_deleted = true;
+}
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
_______________________________________________
Mahogany-cvsupdates mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/mahogany-cvsupdates