From 485ecdf72199efad8e4bfd65e31cbff16238d04a Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 28 Nov 2013 13:46:28 +0000 Subject: [PATCH] Fix wxCommandProcessor::IsDirty() for unsaved unmodified case. IsDirty() still returned true even after undoing all the commands which was wrong, as there was nothing to save in this case. Closes #15722. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75309 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/changes.txt | 2 ++ src/common/cmdproc.cpp | 11 +++-------- 2 files changed, 5 insertions(+), 8 deletions(-) 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 )