diff --git a/doc/classes/EditorDock.xml b/doc/classes/EditorDock.xml
index b8d1692756e..e8926c96fd3 100644
--- a/doc/classes/EditorDock.xml
+++ b/doc/classes/EditorDock.xml
@@ -77,6 +77,7 @@
Opens the dock. It will appear in the last used dock slot. If the dock has no default slot, it will be opened floating.
+ [b]Note:[/b] This does not focus the dock. If you want to open and focus the dock, use [method make_visible].
diff --git a/editor/docks/editor_dock.cpp b/editor/docks/editor_dock.cpp
index 0d63ff0c05d..149b768c6bf 100644
--- a/editor/docks/editor_dock.cpp
+++ b/editor/docks/editor_dock.cpp
@@ -111,7 +111,7 @@ EditorDock::EditorDock() {
void EditorDock::open() {
if (!is_open) {
- EditorDockManager::get_singleton()->open_dock(this);
+ EditorDockManager::get_singleton()->open_dock(this, false);
}
}
diff --git a/editor/scene/2d/tiles/tiles_editor_plugin.cpp b/editor/scene/2d/tiles/tiles_editor_plugin.cpp
index 0b3d6eb32ae..eb7c998019b 100644
--- a/editor/scene/2d/tiles/tiles_editor_plugin.cpp
+++ b/editor/scene/2d/tiles/tiles_editor_plugin.cpp
@@ -373,7 +373,7 @@ void TileMapEditorPlugin::_update_tile_map() {
Ref tile_set = edited_layer->get_tile_set();
if (tile_set.is_valid() && tile_set_id != tile_set->get_instance_id()) {
tile_set_plugin_singleton->edit(tile_set.ptr());
- tile_set_plugin_singleton->make_visible(true);
+ tile_set_plugin_singleton->make_visible_no_focus();
tile_set_id = tile_set->get_instance_id();
} else if (tile_set.is_null()) {
tile_set_plugin_singleton->edit(nullptr);
@@ -410,7 +410,7 @@ void TileMapEditorPlugin::_edit_tile_map_layer(TileMapLayer *p_tile_map_layer, b
Ref tile_set = p_tile_map_layer->get_tile_set();
if (tile_set.is_valid()) {
tile_set_plugin_singleton->edit(tile_set.ptr());
- tile_set_plugin_singleton->make_visible(true);
+ tile_set_plugin_singleton->make_visible_no_focus();
tile_set_id = tile_set->get_instance_id();
} else {
tile_set_plugin_singleton->edit(nullptr);
@@ -479,7 +479,7 @@ bool TileMapEditorPlugin::handles(Object *p_object) const {
void TileMapEditorPlugin::make_visible(bool p_visible) {
if (p_visible) {
- editor->open();
+ editor->make_visible();
} else {
editor->close();
TileSetEditor::get_singleton()->close();
@@ -533,12 +533,16 @@ bool TileSetEditorPlugin::handles(Object *p_object) const {
void TileSetEditorPlugin::make_visible(bool p_visible) {
if (p_visible) {
- editor->open();
+ editor->make_visible();
} else {
editor->close();
}
}
+void TileSetEditorPlugin::make_visible_no_focus() {
+ editor->open();
+}
+
ObjectID TileSetEditorPlugin::get_edited_tileset() const {
return edited_tileset;
}
diff --git a/editor/scene/2d/tiles/tiles_editor_plugin.h b/editor/scene/2d/tiles/tiles_editor_plugin.h
index b5c33253e88..de0645939c4 100644
--- a/editor/scene/2d/tiles/tiles_editor_plugin.h
+++ b/editor/scene/2d/tiles/tiles_editor_plugin.h
@@ -165,6 +165,7 @@ public:
virtual bool handles(Object *p_object) const override;
virtual void make_visible(bool p_visible) override;
+ void make_visible_no_focus();
ObjectID get_edited_tileset() const;
TileSetEditorPlugin();