diff --git a/editor/plugins/tile_set_editor_plugin.cpp b/editor/plugins/tile_set_editor_plugin.cpp index db983e57458..f9d57bc8316 100644 --- a/editor/plugins/tile_set_editor_plugin.cpp +++ b/editor/plugins/tile_set_editor_plugin.cpp @@ -3602,11 +3602,15 @@ void TileSetEditorPlugin::make_visible(bool p_visible) { if (p_visible) { tileset_editor_button->show(); editor->make_bottom_panel_item_visible(tileset_editor); - get_tree()->connect("idle_frame", tileset_editor, "_on_workspace_process"); + if (!get_tree()->is_connected("idle_frame", tileset_editor, "_on_workspace_process")) { + get_tree()->connect("idle_frame", tileset_editor, "_on_workspace_process"); + } } else { editor->hide_bottom_panel(); tileset_editor_button->hide(); - get_tree()->disconnect("idle_frame", tileset_editor, "_on_workspace_process"); + if (get_tree()->is_connected("idle_frame", tileset_editor, "_on_workspace_process")) { + get_tree()->disconnect("idle_frame", tileset_editor, "_on_workspace_process"); + } } }