fixed updating editor element list for game engine when changing levels
[rocksndiamonds.git] / src / editor.c
index 92d6fb13ebd3aee12e563e095f8af2b908978320..3b6d092d100fd86c68df092c88fe5007e571a0aa 100644 (file)
@@ -11895,17 +11895,26 @@ static void HandleCounterButtons(struct GadgetInfo *gi)
 
   if (counter_id == ED_COUNTER_ID_SELECT_LEVEL)
   {
-      LoadLevel(level_nr);
-      LoadScore(level_nr);
+    int last_game_engine_type = level.game_engine_type;
 
-      SaveLevelSetup_SeriesInfo();
+    LoadLevel(level_nr);
+    LoadScore(level_nr);
 
-      TapeErase();
+    SaveLevelSetup_SeriesInfo();
 
-      ResetUndoBuffer();
-      DrawEditModeWindow();
+    TapeErase();
 
-      return;
+    ResetUndoBuffer();
+    DrawEditModeWindow();
+
+    if (level.game_engine_type != last_game_engine_type)
+    {
+      /* update element selection list */
+      ReinitializeElementList();
+      ModifyEditorElementList();
+    }
+
+    return;
   }
 
   switch (counter_id)