X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Feditor.c;h=33f0d5b45388a07df884ebc7e2f419a05b680eb3;hb=4872058f102fa8ded1e215227620d6b33a9c465a;hp=c8444b1158c22f1acf52c5c0e94814e46f956be2;hpb=a59ebe8eb3a68db0a2ffcb8ce5127c767737d5ad;p=rocksndiamonds.git diff --git a/src/editor.c b/src/editor.c index c8444b11..33f0d5b4 100644 --- a/src/editor.c +++ b/src/editor.c @@ -7715,6 +7715,17 @@ static boolean PrepareSavingIntoPersonalLevelSet(void) leveldir_current = getTreeInfoFromIdentifier(leveldir_first, getLoginName()); + // this may happen if "setup.internal.create_user_levelset" is FALSE + // or if file "levelinfo.conf" is missing in personal user level set + if (leveldir_current == NULL) + { + Request("Cannot find personal level set?!", REQ_CONFIRM); + + leveldir_current = leveldir_former; + + return FALSE; + } + // find unused level number for (new_level_nr = leveldir_current->first_level; ; new_level_nr++) { @@ -8325,6 +8336,9 @@ static void CopyCustomElementPropertiesToGame(int element) // copy change events also to special level editor variable custom_element = element_info[element]; custom_element_change = *element_info[element].change; + + // needed here to restore runtime value "element_info[element].gfx_element" + InitElementPropertiesGfxElement(); } static void CopyGroupElementPropertiesToGame(int element) @@ -8338,6 +8352,9 @@ static void CopyGroupElementPropertiesToGame(int element) element_info[element] = custom_element; *element_info[element].group = group_element_info; + + // needed here to restore runtime value "element_info[element].gfx_element" + InitElementPropertiesGfxElement(); } static void CopyClassicElementPropertiesToGame(int element)