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

                 Summary: WML menu items can interrupt themselves
                 Project: Battle for Wesnoth
            Submitted by: kernigh
            Submitted on: Mon 04 Jun 2012 10:11:41 PM GMT
                Category: Bug
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: WML
                  Status: None
                 Privacy: Public
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 1.10.3+svn (54373)
        Operating System: OpenBSD 5.1

    _______________________________________________________

Details:

A player, who is fast with a mouse, can click a WML menu item, and then click
a WML menu item, such that the second action interrupts the first action. This
glitches the first action.

WML menu items come from [set_menu_item]. Wesnoth does not disable WML menu
items while a WML menu item runs an action.

To reproduce this bug, you need a slow menu item. I attach an add-on, _Menu
Test Era_, that provides a slow menu item, "Build and Burn". This action
builds 5 villages and then destroys them. It is slow because it uses [delay].

Steps to reproduce:
0 Install _Menu Test Era_ (from attachment) and start Wesnoth.
0 Start a multiplayer Local Game with Menu Test Era.
0 Play with the menu item, "Build and Burn".
0 You can cause some glitches if you start a second "Build and Burn" before
the first "Build and Burn" finishes its action. For example, the first action
might burn the wrong hexes.

It seems that the second action interrupts the first action, and changes
variables such as $x1 and $y1.

I have also caused glitches by opening and closing the right-click menu,
without clicking a menu item. Perhaps the menu changes $x1 and $y1 while
running [show_if] filters.

You can also reproduce this bug with add-ons from the add-on server. I first
encountered this bug with _Era of Explicit Economy_. In version 0.2.0.1, if I
"Show workable area", there is enough lag to trigger this bug. Then I can
order two peasants to "Get to Work!", so the second peasant interrupts the
first peasant. The first peasant glitches and works the wrong hex.

I can reproduce this bug with _A New Land Classic_ 0.14.3, but the only glitch
so far is to send warnings about variables to standard error.

I have compiled Wesnoth for OpenBSD 5.1 with the system compiler (g++ 4.2.1).



    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Mon 04 Jun 2012 10:11:41 PM GMT  Name: Menu-Test-Era.tar.gz  Size: 638B 
 By: kernigh
Menu Test Era
<http://gna.org/bugs/download.php?file_id=15799>

    _______________________________________________________

Reply to this item at:

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

_______________________________________________
  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