diff --git a/doc/classes/EditorSettings.xml b/doc/classes/EditorSettings.xml
index 2f28a6df876..c66f43d51cd 100644
--- a/doc/classes/EditorSettings.xml
+++ b/doc/classes/EditorSettings.xml
@@ -228,9 +228,6 @@
The bone width in the 2D skeleton editor (in pixels). See also [member editors/2d/bone_outline_size].
-
- If [code]true[/code], prevents the 2D editor viewport from leaving the scene. Limits are calculated dynamically based on nodes present in the current scene. If [code]false[/code], the 2D editor viewport will be able to move freely, but you risk getting lost when zooming out too far. You can refocus on the scene by selecting a node then pressing [kbd]F[/kbd].
-
The grid color to use in the 2D editor.
diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp
index 8574ea409af..7e7bbc71c42 100644
--- a/editor/editor_settings.cpp
+++ b/editor/editor_settings.cpp
@@ -686,7 +686,6 @@ void EditorSettings::_load_defaults(Ref p_extra_config) {
_initial_set("editors/2d/bone_outline_color", Color(0.35, 0.35, 0.35, 0.5));
_initial_set("editors/2d/bone_outline_size", 2);
_initial_set("editors/2d/viewport_border_color", Color(0.4, 0.4, 1.0, 0.4));
- _initial_set("editors/2d/constrain_editor_view", true);
// Panning
// Enum should be in sync with ControlScheme in ViewPanner.
diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp
index ff6d0f81cfe..9fe55766d52 100644
--- a/editor/plugins/canvas_item_editor_plugin.cpp
+++ b/editor/plugins/canvas_item_editor_plugin.cpp
@@ -4010,27 +4010,14 @@ void CanvasItemEditor::_update_scrollbars() {
canvas_item_rect.size += screen_rect * 2;
canvas_item_rect.position -= screen_rect;
- // Constraints the view offset and updates the scrollbars.
- Size2 size = viewport->get_size();
- Point2 begin = canvas_item_rect.position;
- Point2 end = canvas_item_rect.position + canvas_item_rect.size - local_rect.size / zoom;
- bool constrain_editor_view = bool(EDITOR_GET("editors/2d/constrain_editor_view"));
+ // Updates the scrollbars.
+ const Size2 size = viewport->get_size();
+ const Point2 begin = canvas_item_rect.position;
+ const Point2 end = canvas_item_rect.position + canvas_item_rect.size - local_rect.size / zoom;
if (canvas_item_rect.size.height <= (local_rect.size.y / zoom)) {
- real_t centered = -(size.y / 2) / zoom + screen_rect.y / 2;
- if (constrain_editor_view && ABS(centered - previous_update_view_offset.y) < ABS(centered - view_offset.y)) {
- view_offset.y = previous_update_view_offset.y;
- }
-
v_scroll->hide();
} else {
- if (constrain_editor_view && view_offset.y > end.y && view_offset.y > previous_update_view_offset.y) {
- view_offset.y = MAX(end.y, previous_update_view_offset.y);
- }
- if (constrain_editor_view && view_offset.y < begin.y && view_offset.y < previous_update_view_offset.y) {
- view_offset.y = MIN(begin.y, previous_update_view_offset.y);
- }
-
v_scroll->show();
v_scroll->set_min(MIN(view_offset.y, begin.y));
v_scroll->set_max(MAX(view_offset.y, end.y) + screen_rect.y);
@@ -4038,20 +4025,8 @@ void CanvasItemEditor::_update_scrollbars() {
}
if (canvas_item_rect.size.width <= (local_rect.size.x / zoom)) {
- real_t centered = -(size.x / 2) / zoom + screen_rect.x / 2;
- if (constrain_editor_view && ABS(centered - previous_update_view_offset.x) < ABS(centered - view_offset.x)) {
- view_offset.x = previous_update_view_offset.x;
- }
-
h_scroll->hide();
} else {
- if (constrain_editor_view && view_offset.x > end.x && view_offset.x > previous_update_view_offset.x) {
- view_offset.x = MAX(end.x, previous_update_view_offset.x);
- }
- if (constrain_editor_view && view_offset.x < begin.x && view_offset.x < previous_update_view_offset.x) {
- view_offset.x = MIN(begin.x, previous_update_view_offset.x);
- }
-
h_scroll->show();
h_scroll->set_min(MIN(view_offset.x, begin.x));
h_scroll->set_max(MAX(view_offset.x, end.x) + screen_rect.x);