From 1876999b3a86a91099c6c06b0ff29ae127f9767b Mon Sep 17 00:00:00 2001 From: volzhs Date: Fri, 5 Jan 2018 03:55:43 +0900 Subject: [PATCH] Fix get_edited_scene_root error at starting editor Fix #15300 --- editor/plugins/canvas_item_editor_plugin.cpp | 3 ++- editor/plugins/tile_set_editor_plugin.cpp | 2 +- editor/property_editor.cpp | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp index a52c914096d..d116e30cfee 100644 --- a/editor/plugins/canvas_item_editor_plugin.cpp +++ b/editor/plugins/canvas_item_editor_plugin.cpp @@ -3990,6 +3990,7 @@ void CanvasItemEditor::_bind_methods() { ClassDB::bind_method("_snap_changed", &CanvasItemEditor::_snap_changed); ClassDB::bind_method(D_METHOD("_selection_result_pressed"), &CanvasItemEditor::_selection_result_pressed); ClassDB::bind_method(D_METHOD("_selection_menu_hide"), &CanvasItemEditor::_selection_menu_hide); + ClassDB::bind_method(D_METHOD("set_state"), &CanvasItemEditor::set_state); ADD_SIGNAL(MethodInfo("item_lock_status_changed")); ADD_SIGNAL(MethodInfo("item_group_status_changed")); @@ -4348,7 +4349,7 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) { additive_selection = false; // Update the menus checkboxes - set_state(get_state()); + call_deferred("set_state", get_state()); } CanvasItemEditor *CanvasItemEditor::singleton = NULL; diff --git a/editor/plugins/tile_set_editor_plugin.cpp b/editor/plugins/tile_set_editor_plugin.cpp index 50db80ba01c..475cdf07ba8 100644 --- a/editor/plugins/tile_set_editor_plugin.cpp +++ b/editor/plugins/tile_set_editor_plugin.cpp @@ -342,7 +342,7 @@ AutotileEditor::AutotileEditor(EditorNode *p_editor) { split->add_child(property_editor); helper = memnew(AutotileEditorHelper(this)); - property_editor->edit(helper); + property_editor->call_deferred("edit", helper); //Editor diff --git a/editor/property_editor.cpp b/editor/property_editor.cpp index 1dcc5a3231c..89dcae00386 100644 --- a/editor/property_editor.cpp +++ b/editor/property_editor.cpp @@ -4135,6 +4135,7 @@ void PropertyEditor::_bind_methods() { ClassDB::bind_method("_resource_preview_done", &PropertyEditor::_resource_preview_done); ClassDB::bind_method("refresh", &PropertyEditor::refresh); ClassDB::bind_method("_draw_transparency", &PropertyEditor::_draw_transparency); + ClassDB::bind_method("edit", &PropertyEditor::edit); ClassDB::bind_method(D_METHOD("get_drag_data_fw"), &PropertyEditor::get_drag_data_fw); ClassDB::bind_method(D_METHOD("can_drop_data_fw"), &PropertyEditor::can_drop_data_fw);