mirror of https://github.com/godotengine/godot
Don't push remote object if the same remote object is already in the history
Fix error inspector capitalization with regular objects after insepct remote objects
This commit is contained in:
parent
29cd034e23
commit
31b1a77dbc
|
|
@ -86,6 +86,20 @@ void EditorHistory::_add_object(ObjectID p_object, const String &p_property, int
|
|||
bool has_prev = current >= 0 && current < history.size();
|
||||
|
||||
if (has_prev) {
|
||||
|
||||
if (obj->is_type("ScriptEditorDebuggerInspectedObject")) {
|
||||
for (int i = current; i >= 0; i--) {
|
||||
Object *pre_obj = ObjectDB::get_instance(get_history_obj(i));
|
||||
if (pre_obj->is_type("ScriptEditorDebuggerInspectedObject")) {
|
||||
if (pre_obj->call("get_remote_object_id") == obj->call("get_remote_object_id")) {
|
||||
History &pr = history[i];
|
||||
pr.path[pr.path.size() - 1] = o;
|
||||
current = i;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
history.resize(current + 1); //clip history to next
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3618,6 +3618,7 @@ void PropertyEditor::edit(Object *p_object) {
|
|||
|
||||
if (obj) {
|
||||
|
||||
set_enable_capitalize_paths(true);
|
||||
obj->remove_change_receptor(this);
|
||||
|
||||
if (obj->is_type("ScriptEditorDebuggerInspectedObject")) {
|
||||
|
|
|
|||
|
|
@ -497,7 +497,6 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, const Array &p_da
|
|||
}
|
||||
|
||||
inspected_object_id = id;
|
||||
debugObj->update();
|
||||
editor->push_item(debugObj, "");
|
||||
|
||||
} else if (p_msg == "message:video_mem") {
|
||||
|
|
@ -1000,12 +999,7 @@ void ScriptEditorDebugger::_notification(int p_what) {
|
|||
if (inspect_scene_tree->is_visible())
|
||||
_scene_tree_request();
|
||||
|
||||
bool need_query_instance = inspected_object_id != 0;
|
||||
need_query_instance = need_query_instance && editor->get_property_editor()->is_visible();
|
||||
need_query_instance = need_query_instance && (editor->get_property_editor()->obj != NULL);
|
||||
need_query_instance = need_query_instance && editor->get_property_editor()->obj->is_type("ScriptEditorDebuggerInspectedObject");
|
||||
need_query_instance = need_query_instance && ((ObjectID)editor->get_property_editor()->obj->call("get_remote_object_id") != 0);
|
||||
if (need_query_instance) {
|
||||
if (inspected_object_id != 0 && editor->get_property_editor()->is_visible() && (editor->get_property_editor()->obj != NULL) && editor->get_property_editor()->obj->is_type("ScriptEditorDebuggerInspectedObject") && ((ObjectID)editor->get_property_editor()->obj->call("get_remote_object_id") != 0)) {
|
||||
Array msg;
|
||||
msg.push_back("inspect_object");
|
||||
msg.push_back(inspected_object_id);
|
||||
|
|
|
|||
Loading…
Reference in New Issue