]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/memory.cpp
Added size event for status bar
[wxWidgets.git] / src / common / memory.cpp
index 8f9b0d0ac3d9355974ea2966e008d993303ee124..81245b504f2178305b82504f5223afb975d54a82 100644 (file)
@@ -49,7 +49,7 @@
 #  endif
 #endif
 
-#if !defined(__WATCOMC__) && !defined(__VMS__)
+#if !defined(__WATCOMC__) && !defined(__VMS__) && !defined( __MWERKS__ ) && !defined(__SALFORDC__)
 #include <memory.h>
 #endif
 
@@ -532,6 +532,8 @@ bool wxDebugContext::SetFile(const wxString& file)
 
 bool wxDebugContext::SetStandardError(void)
 {
+    // Obsolete
+#if 0
 #if !defined(_WINDLL)
   wxDebugStreamBuf *buf = new wxDebugStreamBuf;
   ostream *stream = new ostream(m_streamBuf);
@@ -540,6 +542,8 @@ bool wxDebugContext::SetStandardError(void)
 #else
   return FALSE;
 #endif
+#endif
+  return FALSE;
 }
 
 
@@ -902,11 +906,15 @@ int wxDebugContext::Check(bool checkAll)
 
 // Count the number of non-wxDebugContext-related objects
 // that are outstanding
-int wxDebugContext::CountObjectsLeft(void)
+int wxDebugContext::CountObjectsLeft(bool sinceCheckpoint)
 {
   int n = 0;
-    
-  wxMemStruct *from = wxDebugContext::GetHead ();
+
+  wxMemStruct *from = NULL;
+  if (sinceCheckpoint && checkPoint)
+    from = checkPoint->m_next;
+  else
+    from = wxDebugContext::GetHead () ;
 
   for (wxMemStruct * st = from; st != 0; st = st->m_next)
   {
@@ -961,6 +969,7 @@ void * operator new (size_t size)
 #endif
 }
 
+#if wxUSE_ARRAY_MEMORY_OPERATORS
 void * operator new[] (size_t size)
 {
 #ifdef NO_DEBUG_ALLOCATION
@@ -969,8 +978,9 @@ void * operator new[] (size_t size)
   return wxDebugAlloc(size, NULL, 0, FALSE, TRUE);
 #endif
 }
+#endif
 
-#if !( defined (_MSC_VER) && (_MSC_VER <= 1020) )
+#if wxUSE_ARRAY_MEMORY_OPERATORS
 void * operator new[] (size_t size, char * fileName, int lineNum)
 {
 #ifdef NO_DEBUG_ALLOCATION
@@ -1005,7 +1015,7 @@ void operator delete[](void* pData, char* /* fileName */, int /* lineNum */)
 }
 #endif
 
-#if !( defined (_MSC_VER) && (_MSC_VER <= 1020) )
+#if wxUSE_ARRAY_MEMORY_OPERATORS
 
 void operator delete[] (void * buf)
 {
@@ -1030,7 +1040,8 @@ void * wxDebugAlloc(size_t size, char * fileName, int lineNum, bool isObject, bo
     return (void *)malloc(size);
   }
   
-    char * buf = (char *) malloc(wxDebugContext::TotSize (size));
+    int totSize = wxDebugContext::TotSize (size);
+    char * buf = (char *) malloc(totSize);
     if (!buf) {
        wxLogDebug("Call to malloc (%ld) failed.", (long)size);
        return 0;