]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/textctrl.h
Avoid double free in wxComboBox::SetClientObject.
[wxWidgets.git] / include / wx / textctrl.h
index 06c1ee23d61623086d900a656e53251586de17a1..8efe4c913a6a99a536602ad82ca75d430042ebf2 100644 (file)
@@ -16,7 +16,7 @@
 // headers
 // ----------------------------------------------------------------------------
 
-#if defined(__GNUG__) && !defined(__APPLE__)
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma interface "textctrlbase.h"
 #endif
 
@@ -262,7 +262,8 @@ public:
     virtual bool LoadFile(const wxString& file);
     virtual bool SaveFile(const wxString& file = wxEmptyString);
 
-    // clears the dirty flag
+    // sets/clears the dirty flag
+    virtual void MarkDirty() = 0;
     virtual void DiscardEdits() = 0;
 
     // set the max number of characters which may be entered in a single line
@@ -335,12 +336,9 @@ public:
     wxTextCtrl& operator<<(const wxChar c);
 
     // do the window-specific processing after processing the update event
-    virtual void DoUpdateWindowUI(wxUpdateUIEvent& event) ;
+    virtual void DoUpdateWindowUI(wxUpdateUIEvent& event);
 
-    // obsolete functions
-#if WXWIN_COMPATIBILITY
-    bool Modified() const { return IsModified(); }
-#endif
+    virtual bool ShouldInheritColours() const { return false; }
 
 protected:
     // the name of the last file loaded with LoadFile() which will be used by
@@ -440,14 +438,26 @@ typedef void (wxEvtHandler::*wxTextUrlEventFunction)(wxTextUrlEvent&);
 
 class WXDLLEXPORT wxStreamToTextRedirector
 {
-public:
-    wxStreamToTextRedirector(wxTextCtrl *text, wxSTD ostream *ostr = NULL)
-        : m_ostr(ostr ? *ostr : wxSTD cout)
+private:
+    void Init()
     {
         m_sbufOld = m_ostr.rdbuf();
         m_ostr.rdbuf(text);
     }
 
+public:
+    wxStreamToTextRedirector(wxTextCtrl *text)
+        : m_ostr(wxSTD cout)
+    {
+        Init();
+    }
+
+    wxStreamToTextRedirector(wxTextCtrl *text, wxSTD ostream *ostr)
+        : m_ostr(*ostr)
+    {
+        Init();
+    }
+
     ~wxStreamToTextRedirector()
     {
         m_ostr.rdbuf(m_sbufOld);