From 33c2ce5deea8d464cb7234a90d4af769c962abb1 Mon Sep 17 00:00:00 2001 From: Michael Alexsander Date: Wed, 15 Oct 2025 21:05:15 -0300 Subject: [PATCH] Make remote debug elements ignore the canvas scaling --- scene/debugger/scene_debugger.cpp | 9 ++++++++- scene/debugger/scene_debugger.h | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/scene/debugger/scene_debugger.cpp b/scene/debugger/scene_debugger.cpp index 5c222a3a13c..ca44967a6f7 100644 --- a/scene/debugger/scene_debugger.cpp +++ b/scene/debugger/scene_debugger.cpp @@ -30,6 +30,7 @@ #include "scene_debugger.h" +#include "core/config/project_settings.h" #include "core/debugger/debugger_marshalls.h" #include "core/debugger/engine_debugger.h" #include "core/io/dir_access.h" @@ -1560,6 +1561,7 @@ void RuntimeNodeSelect::_setup(const Dictionary &p_settings) { panner->set_scroll_speed(pan_speed); sel_2d_grab_dist = p_settings.get("editors/polygon_editor/point_grab_radius", 0); + sel_2d_scale = MAX(1, Math::ceil(2.0 / (float)GLOBAL_GET("display/window/stretch/scale"))); selection_area_fill = p_settings.get("box_selection_fill_color", Color()); selection_area_outline = p_settings.get("box_selection_stroke_color", Color()); @@ -2195,7 +2197,7 @@ void RuntimeNodeSelect::_update_selection() { const Color selection_color_2d = Color(1, 0.6, 0.4, 0.7); for (int i = 0; i < 4; i++) { - RS::get_singleton()->canvas_item_add_line(sbox_2d_ci, endpoints[i], endpoints[(i + 1) % 4], selection_color_2d, 2); + RS::get_singleton()->canvas_item_add_line(sbox_2d_ci, endpoints[i], endpoints[(i + 1) % 4], selection_color_2d, sel_2d_scale); } } @@ -2337,6 +2339,11 @@ void RuntimeNodeSelect::_open_selection_list(const Vector &p_items selection_list->set_position(selection_list->is_embedded() ? p_pos : (Input::get_singleton()->get_mouse_position() + root->get_position())); selection_list->reset_size(); selection_list->popup(); + + selection_list->set_content_scale_factor(1); + selection_list->set_min_size(selection_list->get_contents_minimum_size()); + selection_list->reset_size(); + // FIXME: Ugly hack that stops the popup from hiding when the button is released. selection_list->call_deferred(SNAME("set_position"), selection_list->get_position() + Point2(1, 0)); } diff --git a/scene/debugger/scene_debugger.h b/scene/debugger/scene_debugger.h index 1f183ec0a92..0965709265b 100644 --- a/scene/debugger/scene_debugger.h +++ b/scene/debugger/scene_debugger.h @@ -299,6 +299,7 @@ private: LocalVector selected_ci_nodes; real_t sel_2d_grab_dist = 0; + int sel_2d_scale = 1; RID sbox_2d_ci;