X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cf2f341a0a5b9d9f8e1174b8e9660491b0b2dc22..616b488dbcd7021c530827d89e70a3555e704bdc:/src/common/object.cpp diff --git a/src/common/object.cpp b/src/common/object.cpp index ec127bd3ae..972f6c0bc4 100644 --- a/src/common/object.cpp +++ b/src/common/object.cpp @@ -45,7 +45,7 @@ #endif #if !USE_SHARED_LIBRARY -wxClassInfo wxObject::sm_classwxObject((wxChar *) _T("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; wxHashTable* wxClassInfo::sm_classTable = (wxHashTable*) NULL; #endif @@ -87,7 +87,19 @@ bool wxObject::IsKindOf(wxClassInfo *info) const return FALSE; } -#if defined(__WXDEBUG__) || wxUSE_DEBUG_CONTEXT +wxObject *wxObject::Clone() const +{ + wxObject *object = GetClassInfo()->CreateObject(); + CopyObject(*object); + return object; +} + +void wxObject::CopyObject(wxObject& object_dest) const +{ + wxASSERT(object_dest.GetClassInfo()->IsKindOf(GetClassInfo())); +} + +#if wxUSE_STD_IOSTREAM && (defined(__WXDEBUG__) || wxUSE_DEBUG_CONTEXT) void wxObject::Dump(ostream& str) { if (GetClassInfo() && GetClassInfo()->GetClassName()) @@ -103,7 +115,7 @@ void wxObject::Dump(ostream& str) #undef new #endif -void *wxObject::operator new (size_t size, char * fileName, int lineNum) +void *wxObject::operator new (size_t size, wxChar * fileName, int lineNum) { return wxDebugAlloc(size, fileName, lineNum, TRUE); } @@ -123,7 +135,7 @@ void wxObject::operator delete(void* pData, char* /* fileName */, int /* lineNum // Cause problems for VC++ - crashes #if !defined(__VISUALC__) && wxUSE_ARRAY_MEMORY_OPERATORS -void * wxObject::operator new[] (size_t size, char * fileName, int lineNum) +void * wxObject::operator new[] (size_t size, wxChar * fileName, int lineNum) { return wxDebugAlloc(size, fileName, lineNum, TRUE, TRUE); }