瀏覽代碼

Check before connecting `TileMapEditor::settings_changed`

(cherry picked from commit 1e7662f972ddef78013c359274f0ba13b11e22f4)
Yuri Roubinsky 4 年之前
父節點
當前提交
9517b6e4ce
共有 1 個文件被更改,包括 5 次插入2 次删除
  1. 5 2
      editor/plugins/tile_map_editor_plugin.cpp

+ 5 - 2
editor/plugins/tile_map_editor_plugin.cpp

@@ -1820,8 +1820,10 @@ void TileMapEditor::edit(Node *p_tile_map) {
 		canvas_item_editor_viewport = CanvasItemEditor::get_singleton()->get_viewport_control();
 	}
 
-	if (node)
+	if (node && node->is_connected("settings_changed", this, "_tileset_settings_changed")) {
 		node->disconnect("settings_changed", this, "_tileset_settings_changed");
+	}
+
 	if (p_tile_map) {
 
 		node = Object::cast_to<TileMap>(p_tile_map);
@@ -1843,8 +1845,9 @@ void TileMapEditor::edit(Node *p_tile_map) {
 		_update_palette();
 	}
 
-	if (node)
+	if (node && !node->is_connected("settings_changed", this, "_tileset_settings_changed")) {
 		node->connect("settings_changed", this, "_tileset_settings_changed");
+	}
 
 	_clear_bucket_cache();
 }