projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20100110-1-src
[rocksndiamonds.git]
/
src
/
editor.c
diff --git
a/src/editor.c
b/src/editor.c
index a75d128500553814e1de836731ed2a16af5d4355..739713440de0b57b8f56637bb12469a7a9d25f48 100644
(file)
--- a/
src/editor.c
+++ b/
src/editor.c
@@
-10792,12
+10792,21
@@
static void HandleTextbuttonGadgets(struct GadgetInfo *gi)
char *template_filename = getDefaultLevelFilename(-1);
boolean new_template = !fileExists(template_filename);
char *template_filename = getDefaultLevelFilename(-1);
boolean new_template = !fileExists(template_filename);
+ /* backup original "level.field" (needed to track playfield changes) */
+ CopyPlayfield(level.field, FieldBackup);
+
+ /* "SaveLevelTemplate()" uses "level.field", so copy editor playfield */
+ CopyPlayfield(Feld, level.field);
+
if (new_template ||
Request("Save this template and kill the old ?", REQ_ASK))
SaveLevelTemplate();
if (new_template)
Request("Template saved !", REQ_CONFIRM);
if (new_template ||
Request("Save this template and kill the old ?", REQ_ASK))
SaveLevelTemplate();
if (new_template)
Request("Template saved !", REQ_CONFIRM);
+
+ /* restore original "level.field" (needed to track playfield changes) */
+ CopyPlayfield(FieldBackup, level.field);
}
else if (type_id == ED_TEXTBUTTON_ID_ADD_CHANGE_PAGE &&
custom_element.num_change_pages < MAX_CHANGE_PAGES)
}
else if (type_id == ED_TEXTBUTTON_ID_ADD_CHANGE_PAGE &&
custom_element.num_change_pages < MAX_CHANGE_PAGES)