Changes in src/Actions/ActionQueue.cpp [d93b4b3:11d433]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Actions/ActionQueue.cpp
rd93b4b3 r11d433 74 74 #endif 75 75 76 // free all actions contained in actionqueue 77 for (ActionQueue_t::iterator iter = actionqueue.begin(); !actionqueue.empty(); iter = actionqueue.begin()) { 78 delete *iter; 79 actionqueue.erase(iter); 80 } 76 clearQueue(); 81 77 82 78 delete history; … … 86 82 void ActionQueue::queueAction(const std::string &name, enum Action::QueryOptions state) 87 83 { 88 queueAction(AR->getActionByName(name), state); 89 } 90 91 void ActionQueue::queueAction(Action *_action, enum Action::QueryOptions state) 84 const Action * const registryaction = AR->getActionByName(name); 85 queueAction(registryaction, state); 86 } 87 88 void ActionQueue::queueAction(const Action * const _action, enum Action::QueryOptions state) 92 89 { 93 90 Action *newaction = _action->clone(state); … … 104 101 std::cerr << "Action " << *boost::get_error_info<ActionNameString>(e) << " has failed." << std::endl; 105 102 World::getInstance().setExitFlag(5); 106 actionqueue.clear(); 107 tempqueue.clear(); 103 clearQueue(); 104 lastActionOk = false; 105 std::cerr << "ActionQueue cleared." << std::endl; 106 } catch (std::exception &e) { 107 pushStatus("FAIL: General exception caught, aborting."); 108 World::getInstance().setExitFlag(134); 109 clearQueue(); 108 110 lastActionOk = false; 109 111 std::cerr << "ActionQueue cleared." << std::endl; … … 167 169 pushStatus("FAIL: Action "+*boost::get_error_info<ActionNameString>(e)+" has failed."); 168 170 World::getInstance().setExitFlag(5); 169 actionqueue.clear(); 170 tempqueue.clear(); 171 clearQueue(); 171 172 lastActionOk = false; 173 std::cerr << "ActionQueue cleared." << std::endl; 174 CurrentAction = (size_t)-1; 175 } catch (std::exception &e) { 176 pushStatus("FAIL: General exception caught, aborting."); 177 World::getInstance().setExitFlag(134); 178 clearQueue(); 172 179 std::cerr << "ActionQueue cleared." << std::endl; 173 180 CurrentAction = (size_t)-1; … … 289 296 } 290 297 298 void ActionQueue::clearQueue() 299 { 300 // free all actions contained in actionqueue 301 for (ActionQueue_t::iterator iter = actionqueue.begin(); 302 !actionqueue.empty(); iter = actionqueue.begin()) { 303 delete *iter; 304 actionqueue.erase(iter); 305 } 306 // free all actions contained in tempqueue 307 for (ActionQueue_t::iterator iter = tempqueue.begin(); 308 !tempqueue.empty(); iter = tempqueue.begin()) { 309 delete *iter; 310 tempqueue.erase(iter); 311 } 312 } 291 313 292 314 const ActionQueue::ActionTokens_t ActionQueue::getListOfActions() const
Note:
See TracChangeset
for help on using the changeset viewer.