X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a737331db68b754c8bf31fa0a15f6d1f207b40bf..5e84fc5a820a15a1ce2d32d2ae71f0bf92abda3d:/src/common/object.cpp?ds=sidebyside diff --git a/src/common/object.cpp b/src/common/object.cpp index 5b65936689..9f7e1913ee 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 @@ -89,10 +89,21 @@ bool wxObject::IsKindOf(wxClassInfo *info) const wxObject *wxObject::Clone() const { - return GetClassInfo()->CreateObject(); + wxObject *object = GetClassInfo()->CreateObject(); + CopyObject(*object); + return object; } -#if defined(__WXDEBUG__) || wxUSE_DEBUG_CONTEXT +#ifdef __WXDEBUG__ +void wxObject::CopyObject(wxObject& object_dest) const +#else // !Debug +void wxObject::CopyObject(wxObject& WXUNUSED(object_dest)) const +#endif // Debug/!Debug +{ + wxASSERT(object_dest.GetClassInfo()->IsKindOf(GetClassInfo())); +} + +#if wxUSE_STD_IOSTREAM && (defined(__WXDEBUG__) || wxUSE_DEBUG_CONTEXT) void wxObject::Dump(ostream& str) { if (GetClassInfo() && GetClassInfo()->GetClassName()) @@ -194,7 +205,7 @@ bool wxClassInfo::IsKindOf(wxClassInfo *info) const // PROBABLY NO LONGER TRUE now I've done DLL creation right. /* #if WXMAKINGDLL -if (GetClassName() && info->GetClassName() && (strcmp(GetClassName(), info->GetClassName()) == 0)) +if (GetClassName() && info->GetClassName() && (wxStrcmp(GetClassName(), info->GetClassName()) == 0)) return TRUE; #else */