X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FEvents%2FEvents_Loop.cpp;h=d2d96de532ceda5a4c43bb051fadad2a3ebb7f21;hb=4d6bb9de0e54f09a9bbacc94a058cb7cd437d535;hp=3ab9a1cafe5e1e7450e89be8ebbb278ef40eec9e;hpb=3874b57fe5aba25ff5aee2a07654fc23c1ee8eb0;p=modules%2Fshaper.git diff --git a/src/Events/Events_Loop.cpp b/src/Events/Events_Loop.cpp index 3ab9a1caf..d2d96de53 100644 --- a/src/Events/Events_Loop.cpp +++ b/src/Events/Events_Loop.cpp @@ -127,14 +127,30 @@ void Events_Loop::flush(const Events_ID& theID) std::shared_ptr aGroup = aMyGroup->second; myGroups.erase(aMyGroup); 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::activateFlushes(const bool theActivate) +void Events_Loop::eraseMessages(const Events_ID& theID) +{ + std::map >::iterator aMyGroup = + myGroups.find(theID.eventText()); + if (aMyGroup != myGroups.end()) { + myGroups.erase(aMyGroup); + } +} + + +bool Events_Loop::activateFlushes(const bool theActivate) { + bool isActive = myFlushActive; myFlushActive = theActivate; + return isActive; } void Events_Loop::clear(const Events_ID& theID)