X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1d44aaf824396d1029bab018f4613e3952daa9ee..1f481e6a253d4bb2b5237d941311ef3b0f5b214b:/src/common/objstrm.cpp diff --git a/src/common/objstrm.cpp b/src/common/objstrm.cpp index 824cd28fa6..2d916d629f 100644 --- a/src/common/objstrm.cpp +++ b/src/common/objstrm.cpp @@ -12,6 +12,20 @@ #pragma implementation "objstrm.h" #endif +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ +#pragma hdrstop +#endif + +#ifndef WX_PRECOMP +#include "wx/defs.h" +#include "wx/setup.h" +#endif + +#if wxUSE_SERIAL + #include "wx/object.h" #include "wx/objstrm.h" #include "wx/datstrm.h" @@ -49,13 +63,16 @@ void wxObjectOutputStream::WriteObjectDef(wxObjectStreamInfo& info) if (info.duplicate) { data_s.WriteString(TAG_DUPLICATE_OBJECT); data_s.WriteString(GetObjectName(info.object)); + printf("info.object (dup %s)\n", info.object->GetClassInfo()->GetClassName()); return; } if (info.object) { data_s.WriteString(info.object->GetClassInfo()->GetClassName()); + printf("info.object (%s)\n", info.object->GetClassInfo()->GetClassName()); } else { data_s.WriteString(TAG_EMPTY_OBJECT); + printf("info.object (NULL)\n"); return; } @@ -160,6 +177,7 @@ bool wxObjectOutputStream::SaveObject(wxObject& obj) wxObjectInputStream::wxObjectInputStream(wxInputStream& s) : wxFilterInputStream(s) { + m_secondcall = FALSE; } wxObject *wxObjectInputStream::SolveName(const wxString& name) const @@ -200,7 +218,7 @@ wxObject *wxObjectInputStream::GetChild(int no) const wxObjectStreamInfo *info; if (m_current_info->children_removed >= m_current_info->n_children) - return NULL; + return (wxObject *) NULL; node = m_current_info->children.Nth(m_current_info->children_removed+no); @@ -230,13 +248,13 @@ bool wxObjectInputStream::ReadObjectDef(wxObjectStreamInfo *info) class_name = data_s.ReadString(); info->children_removed = 0; + info->n_children = 0; if (class_name == TAG_EMPTY_OBJECT) info->object = (wxObject *) NULL; else if (class_name == TAG_DUPLICATE_OBJECT) { info->object_name = data_s.ReadString(); info->object = SolveName(info->object_name); - info->n_children = 0; } else { info->object_name = data_s.ReadString(); info->object = wxCreateDynamicObject( WXSTRINGCAST class_name); @@ -307,3 +325,6 @@ wxObject *wxObjectInputStream::LoadObject() return object; } + +#endif +