#include "wx/defs.h"
#endif
-#if (WXDEBUG && USE_MEMORY_TRACING) || USE_DEBUG_CONTEXT
+#if (WXDEBUG && wxUSE_MEMORY_TRACING) || wxUSE_DEBUG_CONTEXT
#ifdef __GNUG__
// #pragma implementation
#include <stdlib.h>
-#if USE_IOSTREAMH
+#if wxUSE_IOSTREAMH
#include <iostream.h>
+#include <fstream.h>
#else
#include <iostream>
+#include <fstream>
+# ifdef _MSC_VER
+ using namespace std;
+# endif
#endif
-#include <fstream.h>
#if !defined(__WATCOMC__) && !defined(__VMS__)
#include <memory.h>
{
wxObject *obj = (wxObject *)m_actualData;
wxClassInfo *info = obj->GetClassInfo();
-
+/*
if (info && info->GetClassName())
wxTrace("%s", info->GetClassName());
else
if (m_fileName)
wxTrace(" (%s %d)", m_fileName, (int)m_lineNum);
+ wxTrace(" at $%lX, size %d\n", (long)GetActualData(), (int)RequestSize());
+*/
+ // Let's put this in standard form so IDEs can load the file at the appropriate
+ // line
+ if (m_fileName)
+ wxTrace("%s(%d): ", m_fileName, (int)m_lineNum);
+
+ if (info && info->GetClassName())
+ wxTrace("%s", info->GetClassName());
+ else
+ wxTrace("object");
+
wxTrace(" at $%lX, size %d\n", (long)GetActualData(), (int)RequestSize());
}
else
{
- wxTrace("Non-object data");
if (m_fileName)
- wxTrace(" (%s %d)", m_fileName, (int)m_lineNum);
+ wxTrace("%s(%d): ", m_fileName, (int)m_lineNum);
+ wxTrace("non-object data");
wxTrace(" at $%lX, size %d\n", (long)GetActualData(), (int)RequestSize());
}
}
if (m_isObject)
{
wxObject *obj = (wxObject *)m_actualData;
-// wxClassInfo *info = obj->GetClassInfo();
if (m_fileName)
- wxTrace("Item (%s %d)", m_fileName, (int)m_lineNum);
- else
- wxTrace("Item");
+ wxTrace("%s(%d): ", m_fileName, (int)m_lineNum);
- wxTrace(" at $%lX, size %d: ", (long)GetActualData(), (int)RequestSize());
-// wxTrace(info->GetClassName());
obj->Dump(wxDebugContext::GetStream());
+ wxTrace(" at $%lX, size %d", (long)GetActualData(), (int)RequestSize());
wxTrace("\n");
}
else
{
- wxTrace("Non-object data");
if (m_fileName)
- wxTrace(" (%s %d)", m_fileName, (int)m_lineNum);
+ wxTrace("%s(%d): ", m_fileName, (int)m_lineNum);
+ wxTrace("non-object data");
wxTrace(" at $%lX, size %d\n", (long)GetActualData(), (int)RequestSize());
}
}
// We'll only do malloc and free for the moment: leave the interesting
// stuff for the wxObject versions.
-#if WXDEBUG && USE_GLOBAL_MEMORY_OPERATORS
+#if WXDEBUG && wxUSE_GLOBAL_MEMORY_OPERATORS
#ifdef new
#undef new
#endif
}
+// VC++ 6.0
+#if _MSC_VER >= 1200
+void operator delete(void* pData, char* /* fileName */, int /* lineNum */)
+{
+ ::operator delete(pData);
+}
+#endif
+
#if !( defined (_MSC_VER) && (_MSC_VER <= 1020) )
void operator delete[] (void * buf)
{
#endif
}
-#else // USE_MEMORY_TRACING && WXDEBUG
+#else // wxUSE_MEMORY_TRACING && WXDEBUG
void wxTrace(const char *WXUNUSED(fmt) ...)
{
}