]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/memory.cpp
small optimization in ProcessEvent() (IsKindOf(wxWindow) only called once)
[wxWidgets.git] / src / common / memory.cpp
index 602a295bb86ab892db61ad98cc9427621cc5f5e8..55a2a2b3410800938679bba0dd40b20a03234210 100644 (file)
@@ -49,7 +49,7 @@
 #  endif
 #endif
 
-#if !defined(__WATCOMC__) && !defined(__VMS__)
+#if !defined(__WATCOMC__) && !defined(__VMS__) && !defined( __MWERKS__ )
 #include <memory.h>
 #endif
 
@@ -965,6 +965,7 @@ void * operator new (size_t size)
 #endif
 }
 
+#if wxUSE_ARRAY_MEMORY_OPERATORS
 void * operator new[] (size_t size)
 {
 #ifdef NO_DEBUG_ALLOCATION
@@ -973,8 +974,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
@@ -1009,7 +1011,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)
 {
@@ -1034,7 +1036,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;