]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/xtistrm.cpp
use HandleWindowEvent() in Close() as it can be called from a GTK+ callback (#9565)
[wxWidgets.git] / src / common / xtistrm.cpp
index f1a55088e80c239c060843cc7fab25db76d1b31f..20d21f6f5b366a5e5758d605ff9481ca61f7a529 100644 (file)
@@ -9,29 +9,25 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation "xtistrm.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 #ifdef __BORLANDC__
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 #ifdef __BORLANDC__
-#pragma hdrstop
+    #pragma hdrstop
 #endif
 
 #endif
 
+#if wxUSE_EXTENDED_RTTI
+
+#include "wx/xtistrm.h"
+
 #ifndef WX_PRECOMP
 #ifndef WX_PRECOMP
-#include "wx/hash.h"
-#include "wx/object.h"
+    #include "wx/object.h"
+    #include "wx/hash.h"
+    #include "wx/event.h"
 #endif
 
 #include "wx/tokenzr.h"
 #include "wx/txtstrm.h"
 #endif
 
 #include "wx/tokenzr.h"
 #include "wx/txtstrm.h"
-#include "wx/event.h"
-
-#if wxUSE_EXTENDED_RTTI
-
-#include "wx/xtistrm.h"
 
 #include "wx/beforestd.h"
 #include <map>
 
 #include "wx/beforestd.h"
 #include <map>
@@ -162,22 +158,24 @@ void wxWriter::WriteAllProperties( const wxObject * obj , const wxClassInfo* ci
         }
         map.erase( name ) ;
     }
         }
         map.erase( name ) ;
     }
-
-    for( wxPropertyInfoMap::iterator iter = map.begin() ; iter != map.end() ; ++iter )
-    {
-        const wxPropertyInfo* prop = iter->second ;
-        if ( prop->GetFlags() & wxPROP_OBJECT_GRAPH )
+    { // Extra block for broken compilers
+        for( wxPropertyInfoMap::iterator iter = map.begin() ; iter != map.end() ; ++iter )
         {
         {
-            WriteOneProperty( obj , prop->GetDeclaringClass() , prop , persister , data ) ;
+            const wxPropertyInfo* prop = iter->second ;
+            if ( prop->GetFlags() & wxPROP_OBJECT_GRAPH )
+            {
+                WriteOneProperty( obj , prop->GetDeclaringClass() , prop , persister , data ) ;
+            }
         }
     }
         }
     }
-
-    for( wxPropertyInfoMap::iterator iter = map.begin() ; iter != map.end() ; ++iter )
-    {
-        const wxPropertyInfo* prop = iter->second ;
-        if ( !(prop->GetFlags() & wxPROP_OBJECT_GRAPH) )
+    { // Extra block for broken compilers
+        for( wxPropertyInfoMap::iterator iter = map.begin() ; iter != map.end() ; ++iter )
         {
         {
-            WriteOneProperty( obj , prop->GetDeclaringClass() , prop , persister , data ) ;
+            const wxPropertyInfo* prop = iter->second ;
+            if ( !(prop->GetFlags() & wxPROP_OBJECT_GRAPH) )
+            {
+                WriteOneProperty( obj , prop->GetDeclaringClass() , prop , persister , data ) ;
+            }
         }
     }
 }
         }
     }
 }
@@ -272,7 +270,7 @@ void wxWriter::WriteOneProperty( const wxObject *obj , const wxClassInfo* ci , c
                 const wxEnumTypeInfo *eti = dynamic_cast<const wxEnumTypeInfo*>( pi->GetTypeInfo() ) ;
                 if ( eti )
                 {
                 const wxEnumTypeInfo *eti = dynamic_cast<const wxEnumTypeInfo*>( pi->GetTypeInfo() ) ;
                 if ( eti )
                 {
-                    eti->ConvertFromLong( value.Get<long>() , value ) ;
+                    eti->ConvertFromLong( value.wxTEMPLATED_MEMBER_CALL(Get , long) , value ) ;
                 }
                 else
                 {
                 }
                 else
                 {
@@ -286,7 +284,7 @@ void wxWriter::WriteOneProperty( const wxObject *obj , const wxClassInfo* ci , c
                 if ( value.GetAsString() == pi->GetDefaultValue().GetAsString() )
                     return ;
             }
                 if ( value.GetAsString() == pi->GetDefaultValue().GetAsString() )
                     return ;
             }
-            
+
             // avoid streaming out null objects
             const wxClassTypeInfo* cti = dynamic_cast< const wxClassTypeInfo* > ( pi->GetTypeInfo() ) ;
 
             // avoid streaming out null objects
             const wxClassTypeInfo* cti = dynamic_cast< const wxClassTypeInfo* > ( pi->GetTypeInfo() ) ;
 
@@ -391,7 +389,7 @@ bool wxReader::HasObjectClassInfo( int objectID )
     if ( objectID == wxNullObjectID || objectID == wxInvalidObjectID )
     {
         wxLogError( _("Invalid or Null Object ID passed to HasObjectClassInfo" ) ) ;
     if ( objectID == wxNullObjectID || objectID == wxInvalidObjectID )
     {
         wxLogError( _("Invalid or Null Object ID passed to HasObjectClassInfo" ) ) ;
-        return NULL ;
+        return false ;
     }
     return m_data->m_classInfos.find(objectID) != m_data->m_classInfos.end() ;
 }
     }
     return m_data->m_classInfos.find(objectID) != m_data->m_classInfos.end() ;
 }
@@ -580,7 +578,7 @@ void wxRuntimeDepersister::SetConnect(int eventSourceObjectID,
                     handlerInfo->GetEventFunction() , NULL /*user data*/ ,
                     ehsink ) ;
             }
                     handlerInfo->GetEventFunction() , NULL /*user data*/ ,
                     ehsink ) ;
             }
-        }        
+        }
     }
 }
 
     }
 }
 
@@ -842,8 +840,8 @@ void wxCodeDepersister::SetConnect(int eventSourceObjectID,
     }
 }
 
     }
 }
 
-#include <wx/arrimpl.cpp>
+#include "wx/arrimpl.cpp"
 
 WX_DEFINE_OBJARRAY(wxxVariantArray);
 
 
 WX_DEFINE_OBJARRAY(wxxVariantArray);
 
-#endif
+#endif // wxUSE_EXTENDED_RTTI