Index: src/libchengine/FeedbackRules.cpp
===================================================================
diff -u -N -r08717141ce5f6926116c298cbc9442094a45bb67 -rf01ed9a0279a52c96a7272273ef19e57f7670f4a
--- src/libchengine/FeedbackRules.cpp	(.../FeedbackRules.cpp)	(revision 08717141ce5f6926116c298cbc9442094a45bb67)
+++ src/libchengine/FeedbackRules.cpp	(.../FeedbackRules.cpp)	(revision f01ed9a0279a52c96a7272273ef19e57f7670f4a)
@@ -1,3 +1,21 @@
+// ============================================================================
+//  Copyright (C) 2001-2020 by Jozef Starosczyk
+//  ixen {at} copyhandler [dot] com
+//
+//  This program is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Library General Public License
+//  (version 2) as published by the Free Software Foundation;
+//
+//  This program is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU General Public License for more details.
+//
+//  You should have received a copy of the GNU Library General Public
+//  License along with this program; if not, write to the
+//  Free Software Foundation, Inc.,
+//  59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+// ============================================================================
 #include "stdafx.h"
 #include "FeedbackRules.h"
 #include "../libserializer/ISerializerContainer.h"
@@ -78,6 +96,28 @@
 	m_feedbackOperationEventRules.Clear();
 }
 
+void chengine::FeedbackRules::ResetModifications()
+{
+	m_feedbackAlreadyExistsRules.ResetModifications();
+	m_feedbackErrorRules.ResetModifications();
+	m_feedbackNotEnoughSpaceRules.ResetModifications();
+	m_feedbackOperationEventRules.ResetModifications();
+}
+
+bool chengine::FeedbackRules::IsModified() const
+{
+	if(m_feedbackAlreadyExistsRules.IsModified())
+		return true;
+	if(m_feedbackErrorRules.IsModified())
+		return true;
+	if(m_feedbackNotEnoughSpaceRules.IsModified())
+		return true;
+	if(m_feedbackOperationEventRules.IsModified())
+		return true;
+
+	return false;
+}
+
 const chengine::FeedbackAlreadyExistsRuleList& chengine::FeedbackRules::GetAlreadyExistsRules() const
 {
 	return m_feedbackAlreadyExistsRules;