Просмотр исходного кода

TileSet: Fix signal disconnect error in some situation

Fixes second issue in #45938.

Co-authored-by: kleonc <[email protected]>
Rémi Verschelde 4 лет назад
Родитель
Сommit
6e920d0c14
1 измененных файлов с 6 добавлено и 2 удалено
  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");
+		}
 	}
 }