_DEFAULT_CONSTRUCTOR(name) \
_DEFAULT_CONVERTERS(name) \
void wxVariantToObjectConverter##name ( const wxAny &data, wxObjectFunctor* fn ) \
-{ (*fn)( &wxANY_AS(data, name) ); } \
+ { name o = wxANY_AS(data, name); (*fn)( &o ); } \
\
const wxClassInfo* name::ms_classParents[] = { &basename::ms_classInfo,NULL }; \
wxClassInfo name::ms_classInfo(name::ms_classParents, wxT(unit), \
wxT(#basename2), (int) sizeof(name), \
(wxObjectConstructorFn) 0);
-// templated streaming, every type must have their specialization for these methods
+// templated streaming, every type that can be converted to wxString
+// must have their specialization for these methods
template<typename T>
void wxStringReadValue( const wxString &s, T &data );