URL:
<http://gna.org/bugs/?18624>
Summary: Triggered assert when deleting planned actions
out-of-turn
Project: Battle for Wesnoth
Submitted by: gabba
Submitted on: Thu 08 Sep 2011 11:04:25 PM EDT
Category: Bug
Severity: 3 - Normal
Priority: 5 - Normal
Item Group: Whiteboard
Status: None
Privacy: Public
Assigned to: gabba
Originator Email:
Open/Closed: Open
Discussion Lock: Any
Release: 1.9.9+svn(51088)
Operating System: Ubuntu 11.04
_______________________________________________________
Details:
This happens when trying to delete planned actions while someone else (here
the AI) is playing its turn: at certain moments the future unit map can't be
built because an attack or something similar is going on, but you can still
attempt to delete an action.
Currently the code to delete an action relies on building the future unit map
to find the unit related to the action we're trying to delete. The trace below
indicates that the unit map building was blocked, making future_visible_unit()
fail on an assert.
The solution is probably to have more fine-grained control over when the
whiteboard's contextual delete command is available.
Thread [1] 21907 (Suspended : Step)
raise() at ../nptl/sysdeps/unix/sysv/linux/raise.c:73 0x7ffff399dd0d
abort() at abort.c:92 0x7ffff39a1ab6
__assert_fail() at assert.c:81 0x7ffff39967c5
wb::future_visible_unit() at
/home/gabriel/Code/wesnoth-git/src/whiteboard/utility.cpp:97 0x179fee9
wb::manager::contextual_delete() at
/home/gabriel/Code/wesnoth-git/src/whiteboard/manager.cpp:890 0x17776f7
playsingle_controller::whiteboard_delete_action() at
/home/gabriel/Code/wesnoth-git/src/playsingle_controller.cpp:236 0x162082a
hotkey::command_executor::execute_command() at
/home/gabriel/Code/wesnoth-git/src/hotkeys.cpp:1 125 0x18b6ae5
play_controller::execute_command() at
/home/gabriel/Code/wesnoth-git/src/play_controller.cpp:788 0x1606baf
hotkey::execute_command() at
/home/gabriel/Code/wesnoth-git/src/hotkeys.cpp:1 154 0x18b6c37
hotkey::command_executor::show_menu() at
/home/gabriel/Code/wesnoth-git/src/hotkeys.cpp:1 262 0x18b7984
play_controller::show_menu() at
/home/gabriel/Code/wesnoth-git/src/play_controller.cpp:1 203 0x16095ca
controller_base::handle_event() at
/home/gabriel/Code/wesnoth-git/src/controller_base.cpp:94 0x11f379c
events::pump() at /home/gabriel/Code/wesnoth-git/src/events.cpp:380
0x189ab81
controller_base::play_slice() at
/home/gabriel/Code/wesnoth-git/src/controller_base.cpp:197 0x11f3ebe
unit_animator::wait_for_end() at
/home/gabriel/Code/wesnoth-git/src/unit_animation.cpp:1 242 0x16f9e64
unit_display::unit_healing() at
/home/gabriel/Code/wesnoth-git/src/unit_display.cpp:531 0x1708c9f
calculate_healing() at
/home/gabriel/Code/wesnoth-git/src/actions.cpp:2 168
0xfec32c
play_controller::do_init_side() at
/home/gabriel/Code/wesnoth-git/src/play_controller.cpp:634 0x160480d
play_controller::init_side() at
/home/gabriel/Code/wesnoth-git/src/play_controller.cpp:577 0x1603ece
playsingle_controller::play_turn() at
/home/gabriel/Code/wesnoth-git/src/playsingle_controller.cpp:573 0x1622f87
playsingle_controller::play_scenario() at
/home/gabriel/Code/wesnoth-git/src/playsingle_controller.cpp:400 0x1621b1d
playsingle_scenario() at
/home/gabriel/Code/wesnoth-git/src/playcampaign.cpp:130 0x161476e
play_game() at /home/gabriel/Code/wesnoth-git/src/playcampaign.cpp:365
0x1616c38
game_controller::play_test() at
/home/gabriel/Code/wesnoth-git/src/game_controller.cpp:334 0x1290f2d
do_gameloop() at /home/gabriel/Code/wesnoth-git/src/game.cpp:457
0xfbd08f
main() at /home/gabriel/Code/wesnoth-git/src/game.cpp:621 0xfbdc9c
_______________________________________________________
Reply to this item at:
<http://gna.org/bugs/?18624>
_______________________________________________
Message sent via/by Gna!
http://gna.org/
_______________________________________________
Wesnoth-bugs mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-bugs