]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/objstrm.cpp
vsprintf() is ANSI so there is normally no need to test for it
[wxWidgets.git] / src / common / objstrm.cpp
index 824cd28fa666acbfbb802ab8b34e720221a0cf1a..2d916d629fd004d1d815835c166352574781f6d0 100644 (file)
 #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
+