X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Feditor.c;h=739713440de0b57b8f56637bb12469a7a9d25f48;hp=a75d128500553814e1de836731ed2a16af5d4355;hb=7fbc29937c69f42e609080ddd29595e01750ec4c;hpb=2919379746c92fd488b83c61b328ef17fe500985 diff --git a/src/editor.c b/src/editor.c index a75d1285..73971344 100644 --- 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); + /* 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); + + /* 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)