diff --git a/docs/changes.txt b/docs/changes.txt index a9899c4fac..1decb28b30 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -584,6 +584,8 @@ All (GUI): - Fix crash when setting invalid label ending with "&" (ZaneUJi). - Fix wxEditableListBox user data corruption when exchanging items in 64 bit builds (Tom Mettam, Rapid2D). +- Fix wxCommandProcessor::IsDirty() return value which was wrong after undoing + all commands without saving (Neil Chittenden). wxGTK: diff --git a/src/common/cmdproc.cpp b/src/common/cmdproc.cpp index 54f14ea028..4534de633e 100644 --- a/src/common/cmdproc.cpp +++ b/src/common/cmdproc.cpp @@ -329,16 +329,11 @@ void wxCommandProcessor::ClearCommands() bool wxCommandProcessor::IsDirty() const { - if ( m_commands.empty() ) - { - // If we have never been modified, we can't be dirty. - return false; - } - if ( !m_lastSavedCommand ) { - // If we have been modified but have never been saved, we're dirty. - return true; + // We have never been saved, so we are dirty if and only if we have any + // commands at all. + return m_currentCommand; } if ( !m_currentCommand )