Salome HOME
Merge branch 'Dev_2.1.0' of salome:modules/shaper into Dev_2.1.0
[modules/shaper.git] / src / Events / Events_Loop.cpp
index 139e862340007e89ce5dec7723768cb401df18cd..d2d96de532ceda5a4c43bb051fadad2a3ebb7f21 100644 (file)
@@ -129,13 +129,28 @@ void Events_Loop::flush(const Events_ID& theID)
     send(aGroup, false);
 
     if (!aWasFlushed)
-      myFlushed.erase(myFlushed.find(theID.myID));
+      // TODO: Stabilization fix. Check later.
+      if(myFlushed.find(theID.myID) != myFlushed.end()) {
+        myFlushed.erase(myFlushed.find(theID.myID));
+      }
+  }
+}
+
+void Events_Loop::eraseMessages(const Events_ID& theID)
+{
+  std::map<char*, std::shared_ptr<Events_Message> >::iterator aMyGroup =
+    myGroups.find(theID.eventText());
+  if (aMyGroup != myGroups.end()) {
+    myGroups.erase(aMyGroup);
   }
 }
 
-void Events_Loop::activateFlushes(const bool theActivate)
+
+bool Events_Loop::activateFlushes(const bool theActivate)
 {
+  bool isActive = myFlushActive;
   myFlushActive = theActivate;
+  return isActive;
 }
 
 void Events_Loop::clear(const Events_ID& theID)