bugBattle for Wesnoth - Bugs: bug #18737, preload event MIA when cache...

Show feedback again

bug #18737: preload event MIA when cache reloaded w F5

Submitted by:  None
Submitted on:  Mon Sep 26 03:22:33 2011  
Category: BugSeverity: 3 - Normal
Priority: 5 - NormalItem Group: WML
Status: DuplicatePrivacy: Public
Assigned to: Anonymissimus <anonymissimus>Originator Email: -unavailable-
Open/Closed: ClosedRelease: 1.9.9
Operating System: linux

Add a New Comment (Rich MarkupRich Markup):

You are not logged in

Please log in, so followups can be emailed to you.


Mon Sep 26 13:21:43 2011, comment #2:

Duplicate of bug #18695.

Anonymissimus <anonymissimus>
Project MemberIn charge of this item.
Mon Sep 26 13:17:16 2011, SVN revision 51290:

refactored when (and when not) buffering of added events is done (fix for bug #18695 and bug #18737)

The reason for the bug was that buffering was acivated and deacticated at wrong times.
Events added (or removed) during the current event call stack do not have effect until the base
event has run out. The code previously to adding the [event]id= feature
behaved this way and it is now (again) this way. Although it's still
not exactly clear to me why this buffering is done, adding event
handlers which were just added during the current call stack already to
the active ones (FR bug #18713) would require modifying the array of active
handlers withint the same loop where we are iterating over it, which
is always a problematic thing, and this in an area where every mistake
quickly results in fatal wml engine bugs...

This should be subject to further testing with scenarios featuring
complicated event structure envolving custom events, [fire_event]s,
event ids and removing of events.

The reason for me not being able to reproduce with my testcase was that
I didn't have shroud enabled. ;)
The reason for me being able to reproduce only sometimes was (I think) that
originally, buffering was initialized with random data so it sometimes
delayed the preload event and sometimes it worked correctly.

(Browse SVN revision 51290)

Anonymissimus <anonymissimus>
Project MemberIn charge of this item.
Mon Sep 26 03:22:33 2011, original submission:

Reloading the cache with F5 causes the preload event to not fire. If I kill wesnoth and restart, the event fires -> a variable created with [set_variable] inside the event is visible in :inspect. If I go back to title screen, press F5, then load the same save-file, and go through the same motions, the set variable is MIA. Re-loading the save-file has no effect.

Example (involves UMC, sorry) is at:



(Note: upload size limit is set to 1024 kB, after insertion of the required escape characters.)

Attach File(s):

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -unavailable- added by anonymissimus (Posted a comment)

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.


    Error: not logged in



    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon Sep 26 13:21:43 2011anonymissimusStatusNone=>Duplicate
      Assigned toNone=>anonymissimus
    Show feedback again

    Back to the top

    Powered by Savane 3.1-cleanup