From 68de1b2acf0d290082b213c0745b17d4e1aab435 Mon Sep 17 00:00:00 2001 From: Igor Korot Date: Wed, 13 Nov 2019 22:16:35 -0600 Subject: [PATCH] Fix initial value returned from wxRichTextCtrl::IsModified() A just created control shouldn't be considered modified, so reset its modified state in Create(). And add a unit test checking that IsModified() really behaves as expected. Closes https://github.com/wxWidgets/wxWidgets/pull/1652 --- src/richtext/richtextctrl.cpp | 2 +- tests/controls/richtextctrltest.cpp | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/richtext/richtextctrl.cpp b/src/richtext/richtextctrl.cpp index a369de8a37..2af028ed7b 100644 --- a/src/richtext/richtextctrl.cpp +++ b/src/richtext/richtextctrl.cpp @@ -343,7 +343,7 @@ bool wxRichTextCtrl::Create( wxWindow* parent, wxWindowID id, const wxString& va #if wxUSE_DRAG_AND_DROP SetDropTarget(new wxRichTextDropTarget(this)); #endif - + SetModified( false ); return true; } diff --git a/tests/controls/richtextctrltest.cpp b/tests/controls/richtextctrltest.cpp index bad0f17228..ca4efb6d34 100644 --- a/tests/controls/richtextctrltest.cpp +++ b/tests/controls/richtextctrltest.cpp @@ -34,6 +34,7 @@ public: private: CPPUNIT_TEST_SUITE( RichTextCtrlTestCase ); + CPPUNIT_TEST( IsModified ); WXUISIM_TEST( CharacterEvent ); WXUISIM_TEST( DeleteEvent ); WXUISIM_TEST( ReturnEvent ); @@ -64,6 +65,7 @@ private: CPPUNIT_TEST( Table ); CPPUNIT_TEST_SUITE_END(); + void IsModified(); void CharacterEvent(); void DeleteEvent(); void ReturnEvent(); @@ -115,6 +117,13 @@ void RichTextCtrlTestCase::tearDown() wxDELETE(m_rich); } +void RichTextCtrlTestCase::IsModified() +{ + CPPUNIT_ASSERT_EQUAL( false, m_rich->IsModified() ); + m_rich->WriteText("abcdef"); + CPPUNIT_ASSERT_EQUAL( true, m_rich->IsModified() ); +} + void RichTextCtrlTestCase::CharacterEvent() { #if wxUSE_UIACTIONSIMULATOR