From 5380e685d891712bc51aec83c024495a18d20acd Mon Sep 17 00:00:00 2001 From: mara Date: Mon, 26 Dec 2022 20:23:41 +0000 Subject: Keep terrain choice when changing layer in tilemap editor Make `TileMapEditorTerrainsPlugin::edit` logic analogous to `TileMapEditorTilesPlugin::edit`, in that the selection is only cleared when switching to another tilemap. Closes #70033. --- editor/plugins/tiles/tile_map_editor.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/editor/plugins/tiles/tile_map_editor.cpp b/editor/plugins/tiles/tile_map_editor.cpp index 5a1f214933..373323a5f1 100644 --- a/editor/plugins/tiles/tile_map_editor.cpp +++ b/editor/plugins/tiles/tile_map_editor.cpp @@ -3301,12 +3301,16 @@ void TileMapEditorTerrainsPlugin::_update_theme() { void TileMapEditorTerrainsPlugin::edit(ObjectID p_tile_map_id, int p_tile_map_layer) { _stop_dragging(); // Avoids staying in a wrong drag state. - tile_map_id = p_tile_map_id; - tile_map_layer = p_tile_map_layer; + if (tile_map_id != p_tile_map_id) { + tile_map_id = p_tile_map_id; - _update_terrains_cache(); - _update_terrains_tree(); - _update_tiles_list(); + // Clear the selection. + _update_terrains_cache(); + _update_terrains_tree(); + _update_tiles_list(); + } + + tile_map_layer = p_tile_map_layer; } TileMapEditorTerrainsPlugin::TileMapEditorTerrainsPlugin() { -- cgit v1.2.3