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