URL:
  <http://gna.org/bugs/?19135>

                 Summary: segfault in executing whiteboard moves - unit
leveled after attack
                 Project: Battle for Wesnoth
            Submitted by: fluffbeast
            Submitted on: Thu 08 Dec 2011 03:47:55 AM GMT
                Category: Bug
                Severity: 4 - Important
                Priority: 5 - Normal
              Item Group: Whiteboard
                  Status: None
                 Privacy: Public
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 1.9.12+svn
        Operating System: Ubuntu

    _______________________________________________________

Details:

In testing, the unit leveled up just as the planned move/attack sequence
ended.

in whiteboard/manager.cpp, line 305 of 1177

void manager::pre_delete_action(action_ptr action)
{
        //If we're deleting the last planned move of a unit, reset it to
normal animation
        if (action->is_valid()
                        && action->get_unit()
                        && boost::dynamic_pointer_cast<move>(action)
                        &&
viewer_actions()->count_actions_of(action->get_unit()) == 1)
        {
                action->get_unit()->set_standing(true);
        }
}

Crash occurred in set_standing() call.

(gdb) bt
#0  0x00000000005e3ca4 in unit::set_standing(bool) ()
#1  0x000000000064c576 in
wb::manager::pre_delete_action(boost::shared_ptr<wb::action>) ()
#2  0x0000000000663071 in
wb::side_actions::safe_erase(wb::side_actions::iterator const&) ()
#3  0x00000000006631fb in
wb::side_actions::synced_erase(wb::side_actions::iterator) ()
#4  0x0000000000663ce9 in
wb::side_actions::execute(wb::side_actions::iterator) ()
#5  0x000000000064de86 in wb::manager::contextual_execute() ()
#6  0x0000000000a6dc23 in
hotkey::command_executor::execute_command(hotkey::HOTKEY_COMMAND, int) ()
#7  0x00000000008a8658 in
play_controller::execute_command(hotkey::HOTKEY_COMMAND, int) ()
#8  0x0000000000a71123 in hotkey::execute_command(display&,
hotkey::HOTKEY_COMMAND, hotkey::command_executor*, int) ()
#9  0x0000000000a72326 in hotkey::key_event(display&, SDL_KeyboardEvent
const&, hotkey::command_executor*) ()
#10 0x000000000073f32d in controller_base::handle_event(SDL_Event const&) ()
#11 0x0000000000a6cc84 in events::pump() ()
#12 0x000000000073ff2e in controller_base::play_slice(bool) ()
#13 0x0000000000582725 in playsingle_controller::play_human_turn() ()
#14 0x000000000057fab0 in playsingle_controller::play_side(unsigned int,
bool) ()
#15 0x000000000058005a in playsingle_controller::play_turn(bool) ()
#16 0x0000000000583e51 in
playsingle_controller::play_scenario(std::pair<config::const_child_iterator,
config::const_child_iterator> const&, bool)
    ()
#17 0x0000000000576ca6 in play_game(display&, game_state&, config const&,
io_type_t, bool) ()
#18 0x000000000046ecb9 in
game_controller::launch_game(game_controller_abstract::RELOAD_GAME_DATA) ()
#19 0x0000000000434e1c in do_gameloop(int, char**) ()
#20 0x000000000041f9f5 in main ()
(gdb) quit





    _______________________________________________________

Reply to this item at:

  <http://gna.org/bugs/?19135>

_______________________________________________
  Message sent via/by Gna!
  http://gna.org/


_______________________________________________
Wesnoth-bugs mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-bugs

Reply via email to