Browse Source

TileSet: Fix signal disconnect error in some situation

Fixes second issue in #45938.

Co-authored-by: kleonc <[email protected]>
Rémi Verschelde 4 years ago
parent
commit
6e920d0c14
1 changed files with 6 additions and 2 deletions
  1. 6 2
      editor/plugins/tile_set_editor_plugin.cpp

+ 6 - 2
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");
+		}
 	}
 }