You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-28 16:07:14 +00:00
Fix editor always redrawing
-Only update rendering settings when project settings change -Fixes the update spinner (and editor rendering) updating all the time. -Added a "project_settings_changed" signal to EditorNode and EditorPlugin
This commit is contained in:
@@ -756,7 +756,6 @@ int find(const PackedStringArray &a, const String &v) {
|
||||
void EditorPlugin::enable_plugin() {
|
||||
// Called when the plugin gets enabled in project settings, after it's added to the tree.
|
||||
// You can implement it to register autoloads.
|
||||
|
||||
if (get_script_instance() && get_script_instance()->has_method("enable_plugin")) {
|
||||
get_script_instance()->call("enable_plugin");
|
||||
}
|
||||
@@ -819,6 +818,18 @@ void EditorPlugin::remove_debugger_plugin(const Ref<Script> &p_script) {
|
||||
EditorDebuggerNode::get_singleton()->remove_debugger_plugin(p_script);
|
||||
}
|
||||
|
||||
void EditorPlugin::_editor_project_settings_changed() {
|
||||
emit_signal("project_settings_changed");
|
||||
}
|
||||
void EditorPlugin::_notification(int p_what) {
|
||||
if (p_what == NOTIFICATION_ENTER_TREE) {
|
||||
EditorNode::get_singleton()->connect("project_settings_changed", callable_mp(this, &EditorPlugin::_editor_project_settings_changed));
|
||||
}
|
||||
if (p_what == NOTIFICATION_EXIT_TREE) {
|
||||
EditorNode::get_singleton()->disconnect("project_settings_changed", callable_mp(this, &EditorPlugin::_editor_project_settings_changed));
|
||||
}
|
||||
}
|
||||
|
||||
void EditorPlugin::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("add_control_to_container", "container", "control"), &EditorPlugin::add_control_to_container);
|
||||
ClassDB::bind_method(D_METHOD("add_control_to_bottom_panel", "control", "title"), &EditorPlugin::add_control_to_bottom_panel);
|
||||
@@ -890,6 +901,7 @@ void EditorPlugin::_bind_methods() {
|
||||
ADD_SIGNAL(MethodInfo("scene_closed", PropertyInfo(Variant::STRING, "filepath")));
|
||||
ADD_SIGNAL(MethodInfo("main_screen_changed", PropertyInfo(Variant::STRING, "screen_name")));
|
||||
ADD_SIGNAL(MethodInfo("resource_saved", PropertyInfo(Variant::OBJECT, "resource", PROPERTY_HINT_RESOURCE_TYPE, "Resource")));
|
||||
ADD_SIGNAL(MethodInfo("project_settings_changed"));
|
||||
|
||||
BIND_ENUM_CONSTANT(CONTAINER_TOOLBAR);
|
||||
BIND_ENUM_CONSTANT(CONTAINER_SPATIAL_EDITOR_MENU);
|
||||
|
||||
Reference in New Issue
Block a user