summaryrefslogtreecommitdiff
path: root/editor/plugins
diff options
context:
space:
mode:
authorNiels Drost <codingdutchman@gmail.com>2023-02-27 11:39:30 +0100
committerYuri Sizov <yuris@humnom.net>2023-03-13 14:45:26 +0100
commit94db7f866b5e4036f7fa74a494c3b03c3ee64a3c (patch)
tree143917e9adbbf7db44a3e894e42cba8fc5e95c21 /editor/plugins
parentf4ea9df0f4ddfc5b46419710e0d4ff02c8b0260f (diff)
TileSet editor was out of sync with TileMap and incorrectly overwrote old selected TileSet after an edit call with a null pointer.
(cherry picked from commit 66374c8dcee3eab1e0878e892be32cd257b43a5b)
Diffstat (limited to 'editor/plugins')
-rw-r--r--editor/plugins/tiles/tiles_editor_plugin.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/editor/plugins/tiles/tiles_editor_plugin.cpp b/editor/plugins/tiles/tiles_editor_plugin.cpp
index 78522dfa73..1682d07e13 100644
--- a/editor/plugins/tiles/tiles_editor_plugin.cpp
+++ b/editor/plugins/tiles/tiles_editor_plugin.cpp
@@ -145,7 +145,10 @@ void TilesEditorPlugin::_tile_map_changed() {
void TilesEditorPlugin::_update_editors() {
// If tile_map is not edited, we change the edited only if we are not editing a tile_set.
- tileset_editor->edit(tile_set);
+ if (tile_set.is_valid()) {
+ tileset_editor->edit(tile_set);
+ }
+
TileMap *tile_map = Object::cast_to<TileMap>(ObjectDB::get_instance(tile_map_id));
if (tile_map) {
tilemap_editor->edit(tile_map);
@@ -158,6 +161,7 @@ void TilesEditorPlugin::_update_editors() {
// Make sure the tile set editor is visible if we have one assigned.
tileset_editor_button->set_visible(is_visible && tile_set.is_valid());
+ tilemap_editor_button->set_visible(is_visible && tile_map);
// Update visibility of bottom panel buttons.
if (tileset_editor_button->is_pressed() && !tile_set.is_valid()) {