OS/2 updates for easier VA debugging

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8631 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Webster
2000-10-24 21:47:55 +00:00
parent d7e1a32274
commit 415ca026b4
2 changed files with 46 additions and 3 deletions

View File

@@ -365,13 +365,15 @@ void wxInitializeStockObjects ()
#ifdef __WXMSW__ #ifdef __WXMSW__
static const int sizeFont = 10; static const int sizeFont = 10;
#else #else
static const int sizeFont = 12;
#endif #endif
*/ */
#if defined(__WXPM__)
// wxNORMAL_FONT = new wxFont (sizeFont, wxMODERN, wxNORMAL, wxNORMAL); static const int sizeFont = 12;
wxNORMAL_FONT = new wxFont (sizeFont, wxMODERN, wxNORMAL, wxNORMAL);
#else
wxNORMAL_FONT = new wxFont(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT)); wxNORMAL_FONT = new wxFont(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT));
static const int sizeFont = wxNORMAL_FONT->GetPointSize(); static const int sizeFont = wxNORMAL_FONT->GetPointSize();
#endif
wxSMALL_FONT = new wxFont (sizeFont - 2, wxSWISS, wxNORMAL, wxNORMAL); wxSMALL_FONT = new wxFont (sizeFont - 2, wxSWISS, wxNORMAL, wxNORMAL);
wxITALIC_FONT = new wxFont (sizeFont, wxROMAN, wxITALIC, wxNORMAL); wxITALIC_FONT = new wxFont (sizeFont, wxROMAN, wxITALIC, wxNORMAL);

View File

@@ -42,12 +42,26 @@
#if defined(__WXDEBUG__) || wxUSE_DEBUG_CONTEXT #if defined(__WXDEBUG__) || wxUSE_DEBUG_CONTEXT
// for wxObject::Dump // for wxObject::Dump
#include "wx/ioswrap.h" #include "wx/ioswrap.h"
#if defined(__VISAGECPP__)
// help with VA debugging
#define DEBUG_PRINTF(NAME) { static int raz=0; \
printf( #NAME " %i\n",raz); fflush(stdout); \
raz++; \
}
#else
#define DEBUG_PRINTF(NAME)
#endif
#endif #endif
wxClassInfo wxObject::sm_classwxObject((wxChar *) wxT("wxObject"), (wxChar *) NULL, (wxChar *) NULL, (int ) sizeof(wxObject), (wxObjectConstructorFn) NULL); wxClassInfo wxObject::sm_classwxObject((wxChar *) wxT("wxObject"), (wxChar *) NULL, (wxChar *) NULL, (int ) sizeof(wxObject), (wxObjectConstructorFn) NULL);
wxClassInfo* wxClassInfo::sm_first = (wxClassInfo *) NULL; wxClassInfo* wxClassInfo::sm_first = (wxClassInfo *) NULL;
wxHashTable* wxClassInfo::sm_classTable = (wxHashTable*) NULL; wxHashTable* wxClassInfo::sm_classTable = (wxHashTable*) NULL;
#if defined(__WXDEBUG__) && defined(__VISAGECPP__)
int wxObject::N = 0; // total number of objects
int wxObject::Nid = 0;// object serial counter
#endif // __WXDEBUG__
// These are here so we can avoid 'always true/false' warnings // These are here so we can avoid 'always true/false' warnings
// by referring to these instead of TRUE/FALSE // by referring to these instead of TRUE/FALSE
const bool wxTrue = TRUE; const bool wxTrue = TRUE;
@@ -63,6 +77,12 @@ wxObject::wxObject()
#if wxUSE_SERIAL #if wxUSE_SERIAL
m_serialObj = (wxObject_Serialize *)NULL; m_serialObj = (wxObject_Serialize *)NULL;
#endif #endif
#if defined(__WXDEBUG__) && defined(__VISAGECPP__)
id = Nid++;
N++;
// { printf("wxObject %i/%i \t",id,N);
// }
#endif
} }
wxObject::~wxObject() wxObject::~wxObject()
@@ -72,6 +92,11 @@ wxObject::~wxObject()
if (m_serialObj) if (m_serialObj)
delete m_serialObj; delete m_serialObj;
#endif #endif
#if defined(__WXDEBUG__) && defined(__VISAGECPP__)
N--;
// { printf("~wxObject %i/%i \t",id,N);
// }
#endif //__WXDEBUG__
} }
/* /*
@@ -127,10 +152,19 @@ void *wxObject::operator new (size_t size, wxChar * fileName, int lineNum)
return wxDebugAlloc(size, fileName, lineNum, TRUE); return wxDebugAlloc(size, fileName, lineNum, TRUE);
} }
#if defined(__VISAGECPP__)
# if __DEBUG_ALLOC__
void wxObject::operator delete (void * buf,const char * _fname, size_t _line)
{
wxDebugFree(buf);
}
# endif //__DEBUG_ALLOC__
#else
void wxObject::operator delete (void * buf) void wxObject::operator delete (void * buf)
{ {
wxDebugFree(buf); wxDebugFree(buf);
} }
#endif // __VISAGECPP__
// VC++ 6.0 // VC++ 6.0
#if defined(__VISUALC__) && (__VISUALC__ >= 1200) #if defined(__VISUALC__) && (__VISUALC__ >= 1200)
@@ -266,6 +300,8 @@ void wxClassInfo::CleanUpClasses()
wxObject *wxCreateDynamicObject(const wxChar *name) wxObject *wxCreateDynamicObject(const wxChar *name)
{ {
DEBUG_PRINTF(wxObject *wxCreateDynamicObject)
if (wxClassInfo::sm_classTable) if (wxClassInfo::sm_classTable)
{ {
wxClassInfo *info = (wxClassInfo *)wxClassInfo::sm_classTable->Get(name); wxClassInfo *info = (wxClassInfo *)wxClassInfo::sm_classTable->Get(name);
@@ -300,6 +336,8 @@ wxObject* wxCreateStoredObject( wxInputStream &stream )
void wxObject::StoreObject( wxObjectOutputStream& stream ) void wxObject::StoreObject( wxObjectOutputStream& stream )
{ {
DEBUG_PRINTF(wxObject::StoreObject)
wxString obj_name = wxString(GetClassInfo()->GetClassName()) + "_Serialize"; wxString obj_name = wxString(GetClassInfo()->GetClassName()) + "_Serialize";
wxLibrary *lib = wxTheLibraries.LoadLibrary("wxserial"); wxLibrary *lib = wxTheLibraries.LoadLibrary("wxserial");
@@ -325,6 +363,8 @@ void wxObject::StoreObject( wxObjectOutputStream& stream )
void wxObject::LoadObject( wxObjectInputStream& stream ) void wxObject::LoadObject( wxObjectInputStream& stream )
{ {
DEBUG_PRINTF(wxObject::LoadObject)
wxString obj_name = wxString(GetClassInfo()->GetClassName()) + "_Serialize"; wxString obj_name = wxString(GetClassInfo()->GetClassName()) + "_Serialize";
wxLibrary *lib = wxTheLibraries.LoadLibrary("wxserial"); wxLibrary *lib = wxTheLibraries.LoadLibrary("wxserial");
@@ -352,6 +392,7 @@ void wxObject::LoadObject( wxObjectInputStream& stream )
void wxObject::Ref(const wxObject& clone) void wxObject::Ref(const wxObject& clone)
{ {
DEBUG_PRINTF(wxObject::Ref)
// delete reference to old data // delete reference to old data
UnRef(); UnRef();
// reference new data // reference new data