[haiku-commits] r42765 - haiku/trunk/headers/private/shared

  • From: clemens.zeidler@xxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Fri, 23 Sep 2011 04:03:10 +0200 (CEST)

Author: czeidler
Date: 2011-09-23 04:03:10 +0200 (Fri, 23 Sep 2011)
New Revision: 42765
Changeset: https://dev.haiku-os.org/changeset/42765

Modified:
   haiku/trunk/headers/private/shared/WeakReferenceable.h
Log:
Use nothrow and add InitCheck method to check if allocation went fine.



Modified: haiku/trunk/headers/private/shared/WeakReferenceable.h
===================================================================
--- haiku/trunk/headers/private/shared/WeakReferenceable.h      2011-09-22 
22:46:14 UTC (rev 42764)
+++ haiku/trunk/headers/private/shared/WeakReferenceable.h      2011-09-23 
02:03:10 UTC (rev 42765)
@@ -8,7 +8,9 @@
 
 #include <Referenceable.h>
 
+#include <new>
 
+
 namespace BPrivate {
 
 
@@ -38,6 +40,8 @@
                                                                
BWeakReferenceable();
        virtual                                         ~BWeakReferenceable();
 
+                       status_t                        InitCheck();
+
                        void                            AcquireReference()
                                                                        { 
fPointer->GetUnchecked(); }
 
@@ -243,7 +247,7 @@
 inline
 BWeakReferenceable::BWeakReferenceable()
        :
-       fPointer(new WeakPointer(this))
+       fPointer(new(std::nothrow) WeakPointer(this))
 {
 }
 
@@ -255,6 +259,15 @@
 }
 
 
+inline status_t
+BWeakReferenceable::InitCheck()
+{
+       if (fPointer == NULL)
+               return B_NO_MEMORY;
+       return B_OK;
+}
+
+
 inline WeakPointer*
 BWeakReferenceable::GetWeakPointer()
 {


Other related posts:

  • » [haiku-commits] r42765 - haiku/trunk/headers/private/shared - clemens . zeidler