Possible to trigger a crash by saving between story dialogs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
widelands |
Fix Released
|
Critical
|
Unassigned |
Bug Description
Ages ago I noticed a minor difference; in the campaign maps I can adjust the speed of the game between dialogs telling the story, but in the tutorial I cannot. Thus I was able to speed up the game, making the camera move faster to get to the next dialog. I never thought much of it, but earlier today I discovered the following:
1. Start a new campaign map (Barbarians - Eyes in the dark).
2. Click Ok to close the first dialog.
3. Immediately press "Page Down" to pause the game.
4. Open the menu and attempt to save the game.
Game: Writing Command Queue Data ... PANIC: unprotected error in call to Lua API (Trying to persist a User Interface Panel which is no supported!
stack traceback:)
I suppose the campaign maps should ignore the user trying to change the speed like the tutorial does.
(I don't see this as a something we need to deal with before build18, since it's a rather extreme edge case which doesn't seem to have been reported earlier and is unlikely to be triggered by anyone. If someone do end up fixing it, that's of course cool too :) )
Widelands r6643 on Ubuntu 13.04.
Related branches
- SirVer: Approve
-
Diff: 438 lines (+25/-156)7 files modifiedsrc/game_io/game_interactive_player_data_packet.cc (+0/-114)
src/game_io/game_interactive_player_data_packet.h (+0/-38)
src/game_io/game_loader.cc (+2/-2)
src/game_io/game_saver.cc (+2/-2)
src/scripting/lua_ui.cc (+7/-0)
src/scripting/lua_ui.h (+3/-0)
test/lua/persistence.wmf/scripting/init.lua (+11/-0)
tags: | added: savegame |
summary: |
- Possible to trigger a crash by pausing and saving between story dialogs + Possible to trigger a crash saving between story dialogs |
summary: |
- Possible to trigger a crash saving between story dialogs + Possible to trigger a crash by saving between story dialogs |
Changed in widelands: | |
importance: | Medium → High |
Changed in widelands: | |
milestone: | none → build18-rc1 |
Changed in widelands: | |
status: | Confirmed → In Progress |
Normally saving is prevented when lua dialogs are opened, then authorized back when they are closed. So the code to handle that is already there, and an easy fix may exist. I will check that