diff --git a/include/wx/textctrl.h b/include/wx/textctrl.h index 223403b1c8..02434c3377 100644 --- a/include/wx/textctrl.h +++ b/include/wx/textctrl.h @@ -64,6 +64,7 @@ public: // -------- wxTextCtrlBase(); + ~wxTextCtrlBase(); // accessors // --------- @@ -159,6 +160,13 @@ protected: // the name of the last file loaded with LoadFile() which will be used by // SaveFile() by default wxString m_filename; + +private: +#ifndef NO_TEXT_WINDOW_STREAM +#if !wxUSE_IOSTREAMH + char *m_streambuf; +#endif +#endif }; // ---------------------------------------------------------------------------- diff --git a/src/common/textcmn.cpp b/src/common/textcmn.cpp index d1c0434cc2..0ce243a141 100644 --- a/src/common/textcmn.cpp +++ b/src/common/textcmn.cpp @@ -48,18 +48,25 @@ // ---------------------------------------------------------------------------- wxTextCtrlBase::wxTextCtrlBase() -#if !wxUSE_IOSTREAMH - #ifndef NO_TEXT_WINDOW_STREAM - :streambuf() - #endif //NO_TEXT_WINDOW_STREAM -#endif //!wxUSE_IOSTREAMH { -#if wxUSE_IOSTREAMH - #ifndef NO_TEXT_WINDOW_STREAM - if (allocate()) - setp(base(),ebuf()); - #endif // NO_TEXT_WINDOW_STREAM -#endif //wxUSE_IOSTREAMH +#ifndef NO_TEXT_WINDOW_STREAM + #if wxUSE_IOSTREAMH + if (allocate()) + setp(base(),ebuf()); + #else + m_streambuf=new char[64]; + setp(m_streambuf,m_streambuf+64); + #endif //wxUSE_IOSTREAMH +#endif // NO_TEXT_WINDOW_STREAM +} + +wxTextCtrlBase::~wxTextCtrlBase() +{ +#ifndef NO_TEXT_WINDOW_STREAM +#if !wxUSE_IOSTREAMH + delete m_streambuf; +#endif +#endif } // ----------------------------------------------------------------------------