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

Reply via email to