summaryrefslogtreecommitdiff
path: root/editor
diff options
context:
space:
mode:
Diffstat (limited to 'editor')
-rw-r--r--editor/connections_dialog.cpp24
-rw-r--r--editor/debugger/debug_adapter/debug_adapter_protocol.cpp1
-rw-r--r--editor/editor_log.cpp12
-rw-r--r--editor/editor_node.cpp6
-rw-r--r--editor/editor_themes.cpp42
-rw-r--r--editor/editor_toaster.cpp17
-rw-r--r--editor/editor_toaster.h1
-rw-r--r--editor/import/resource_importer_obj.cpp10
-rw-r--r--editor/plugins/canvas_item_editor_plugin.cpp1
-rw-r--r--editor/plugins/node_3d_editor_plugin.cpp8
-rw-r--r--editor/plugins/script_editor_plugin.cpp2
-rw-r--r--editor/plugins/visual_shader_editor_plugin.cpp2
-rw-r--r--editor/project_manager.cpp4
13 files changed, 76 insertions, 54 deletions
diff --git a/editor/connections_dialog.cpp b/editor/connections_dialog.cpp
index befe84f311..ddbbdb1c6a 100644
--- a/editor/connections_dialog.cpp
+++ b/editor/connections_dialog.cpp
@@ -119,7 +119,7 @@ void ConnectDialog::ok_pressed() {
return;
}
- if (!method_name.strip_edges().is_valid_identifier()) {
+ if (!TS->is_valid_identifier(method_name.strip_edges())) {
error->set_text(TTR("Method name must be a valid identifier."));
error->popup_centered();
return;
@@ -228,7 +228,7 @@ StringName ConnectDialog::generate_method_callback_name(Node *p_source, String p
String node_name = p_source->get_name();
for (int i = 0; i < node_name.length(); i++) { // TODO: Regex filter may be cleaner.
char32_t c = node_name[i];
- if (!is_ascii_identifier_char(c)) {
+ if ((i == 0 && !is_unicode_identifier_start(c)) || (i > 0 && !is_unicode_identifier_continue(c))) {
if (c == ' ') {
// Replace spaces with underlines.
c = '_';
@@ -338,11 +338,6 @@ void ConnectDialog::_update_method_tree() {
// If a script is attached, get methods from it.
ScriptInstance *si = target->get_script_instance();
if (si) {
- TreeItem *si_item = method_tree->create_item(root_item);
- si_item->set_text(0, TTR("Attached Script"));
- si_item->set_icon(0, get_theme_icon(SNAME("Script"), SNAME("EditorIcons")));
- si_item->set_selectable(0, false);
-
if (si->get_script()->is_built_in()) {
si->get_script()->reload();
}
@@ -350,9 +345,12 @@ void ConnectDialog::_update_method_tree() {
si->get_method_list(&methods);
methods = _filter_method_list(methods, signal_info, search_string);
- if (methods.is_empty()) {
- si_item->set_custom_color(0, disabled_color);
- } else {
+ if (!methods.is_empty()) {
+ TreeItem *si_item = method_tree->create_item(root_item);
+ si_item->set_text(0, TTR("Attached Script"));
+ si_item->set_icon(0, get_theme_icon(SNAME("Script"), SNAME("EditorIcons")));
+ si_item->set_selectable(0, false);
+
_create_method_tree_items(methods, si_item);
}
}
@@ -687,8 +685,10 @@ ConnectDialog::ConnectDialog() {
method_tree->connect("item_activated", callable_mp((Window *)method_popup, &Window::hide));
empty_tree_label = memnew(Label(TTR("No method found matching given filters.")));
- method_tree->add_child(empty_tree_label);
- empty_tree_label->set_anchors_and_offsets_preset(Control::PRESET_CENTER);
+ method_popup->add_child(empty_tree_label);
+ empty_tree_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER);
+ empty_tree_label->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER);
+ empty_tree_label->set_autowrap_mode(TextServer::AUTOWRAP_WORD);
script_methods_only = memnew(CheckButton(TTR("Script Methods Only")));
method_vbc->add_child(script_methods_only);
diff --git a/editor/debugger/debug_adapter/debug_adapter_protocol.cpp b/editor/debugger/debug_adapter/debug_adapter_protocol.cpp
index e5f74762f6..4a95047a71 100644
--- a/editor/debugger/debug_adapter/debug_adapter_protocol.cpp
+++ b/editor/debugger/debug_adapter/debug_adapter_protocol.cpp
@@ -970,6 +970,7 @@ void DebugAdapterProtocol::poll() {
List<Ref<DAPeer>> to_delete;
for (List<Ref<DAPeer>>::Element *E = clients.front(); E; E = E->next()) {
Ref<DAPeer> peer = E->get();
+ peer->connection->poll();
StreamPeerTCP::Status status = peer->connection->get_status();
if (status == StreamPeerTCP::STATUS_NONE || status == StreamPeerTCP::STATUS_ERROR) {
to_delete.push_back(peer);
diff --git a/editor/editor_log.cpp b/editor/editor_log.cpp
index 296181f79d..cc88424c55 100644
--- a/editor/editor_log.cpp
+++ b/editor/editor_log.cpp
@@ -91,7 +91,12 @@ void EditorLog::_update_theme() {
log->add_theme_font_override("mono_font", mono_font);
}
- log->add_theme_font_size_override("normal_font_size", get_theme_font_size(SNAME("output_source_size"), SNAME("EditorFonts")));
+ const int font_size = get_theme_font_size(SNAME("output_source_size"), SNAME("EditorFonts"));
+ log->add_theme_font_size_override("normal_font_size", font_size);
+ log->add_theme_font_size_override("bold_font_size", font_size);
+ log->add_theme_font_size_override("italics_font_size", font_size);
+ log->add_theme_font_size_override("mono_font_size", font_size);
+
log->add_theme_color_override("selection_color", get_theme_color(SNAME("accent_color"), SNAME("Editor")) * Color(1, 1, 1, 0.4));
type_filter_map[MSG_TYPE_STD]->toggle_button->set_icon(get_theme_icon(SNAME("Popup"), SNAME("EditorIcons")));
@@ -273,6 +278,11 @@ void EditorLog::_add_log_line(LogMessage &p_message, bool p_replace_previous) {
return;
}
+ if (unlikely(log->is_updating())) {
+ // The new message arrived during log RTL text processing/redraw (invalid BiDi control characters / font error), ignore it to avoid RTL data corruption.
+ return;
+ }
+
// Only add the message to the log if it passes the filters.
bool filter_active = type_filter_map[p_message.type]->is_active();
String search_text = search_box->get_text();
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp
index 0e17c72d90..359d17b277 100644
--- a/editor/editor_node.cpp
+++ b/editor/editor_node.cpp
@@ -1145,7 +1145,7 @@ void EditorNode::_scan_external_changes() {
}
if (need_reload) {
- disk_changed->call_deferred(SNAME("popup_centered_ratio"), 0.5);
+ disk_changed->call_deferred(SNAME("popup_centered_ratio"), 0.3);
}
}
@@ -2761,6 +2761,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
}
}
}
+ save_confirmation->reset_size();
save_confirmation->popup_centered();
break;
}
@@ -3074,6 +3075,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
save_confirmation->set_ok_button_text(TTR("Save & Quit"));
save_confirmation->set_text((p_option == FILE_QUIT ? TTR("Save changes to the following scene(s) before quitting?") : TTR("Save changes to the following scene(s) before opening Project Manager?")) + unsaved_scenes);
}
+ save_confirmation->reset_size();
save_confirmation->popup_centered();
}
}
@@ -5534,6 +5536,7 @@ void EditorNode::_scene_tab_closed(int p_tab, int option) {
if (unsaved) {
save_confirmation->set_ok_button_text(TTR("Save & Close"));
save_confirmation->set_text(vformat(TTR("Save changes to '%s' before closing?"), !scene->get_scene_file_path().is_empty() ? scene->get_scene_file_path() : "unsaved scene"));
+ save_confirmation->reset_size();
save_confirmation->popup_centered();
} else {
_discard_changes();
@@ -7830,6 +7833,7 @@ EditorNode::EditorNode() {
save_confirmation = memnew(ConfirmationDialog);
save_confirmation->add_button(TTR("Don't Save"), DisplayServer::get_singleton()->get_swap_cancel_ok(), "discard");
gui_base->add_child(save_confirmation);
+ save_confirmation->set_min_size(Vector2(450.0 * EDSCALE, 0));
save_confirmation->connect("confirmed", callable_mp(this, &EditorNode::_menu_confirm_current));
save_confirmation->connect("custom_action", callable_mp(this, &EditorNode::_discard_changes));
diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp
index 0d480c7896..31668416ac 100644
--- a/editor/editor_themes.cpp
+++ b/editor/editor_themes.cpp
@@ -834,7 +834,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_color("font_focus_color", "MenuButton", font_focus_color);
theme->set_color("font_outline_color", "MenuButton", font_outline_color);
- theme->set_constant("outline_size", "MenuButton", 0 * EDSCALE);
+ theme->set_constant("outline_size", "MenuButton", 0);
theme->set_stylebox("MenuHover", "EditorStyles", style_widget_hover);
@@ -860,7 +860,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_color("icon_disabled_color", "Button", icon_disabled_color);
theme->set_constant("h_separation", "Button", 2 * EDSCALE);
- theme->set_constant("outline_size", "Button", 0 * EDSCALE);
+ theme->set_constant("outline_size", "Button", 0);
const float ACTION_BUTTON_EXTRA_MARGIN = 32 * EDSCALE;
@@ -917,7 +917,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_color("icon_disabled_color", "MenuBar", icon_disabled_color);
theme->set_constant("h_separation", "MenuBar", 4 * EDSCALE);
- theme->set_constant("outline_size", "MenuBar", 0 * EDSCALE);
+ theme->set_constant("outline_size", "MenuBar", 0);
// OptionButton
Ref<StyleBoxFlat> style_option_button_focus = style_widget_focus->duplicate();
@@ -961,7 +961,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_constant("arrow_margin", "OptionButton", widget_default_margin.x - 2 * EDSCALE);
theme->set_constant("modulate_arrow", "OptionButton", true);
theme->set_constant("h_separation", "OptionButton", 4 * EDSCALE);
- theme->set_constant("outline_size", "OptionButton", 0 * EDSCALE);
+ theme->set_constant("outline_size", "OptionButton", 0);
// CheckButton
theme->set_stylebox("normal", "CheckButton", style_menu);
@@ -995,8 +995,8 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_color("icon_disabled_color", "CheckButton", icon_disabled_color);
theme->set_constant("h_separation", "CheckButton", 8 * EDSCALE);
- theme->set_constant("check_v_offset", "CheckButton", 0 * EDSCALE);
- theme->set_constant("outline_size", "CheckButton", 0 * EDSCALE);
+ theme->set_constant("check_v_offset", "CheckButton", 0);
+ theme->set_constant("outline_size", "CheckButton", 0);
// Checkbox
Ref<StyleBoxFlat> sb_checkbox = style_menu->duplicate();
@@ -1031,8 +1031,8 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_color("icon_disabled_color", "CheckBox", icon_disabled_color);
theme->set_constant("h_separation", "CheckBox", 8 * EDSCALE);
- theme->set_constant("check_v_offset", "CheckBox", 0 * EDSCALE);
- theme->set_constant("outline_size", "CheckBox", 0 * EDSCALE);
+ theme->set_constant("check_v_offset", "CheckBox", 0);
+ theme->set_constant("outline_size", "CheckBox", 0);
// PopupDialog
theme->set_stylebox("panel", "PopupDialog", style_popup);
@@ -1087,7 +1087,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
const int vsep_base = extra_spacing + default_margin_size + 6;
const int force_even_vsep = vsep_base + (vsep_base % 2);
theme->set_constant("v_separation", "PopupMenu", force_even_vsep * EDSCALE);
- theme->set_constant("outline_size", "PopupMenu", 0 * EDSCALE);
+ theme->set_constant("outline_size", "PopupMenu", 0);
theme->set_constant("item_start_padding", "PopupMenu", default_margin_size * 1.5 * EDSCALE);
theme->set_constant("item_end_padding", "PopupMenu", default_margin_size * 1.5 * EDSCALE);
@@ -1206,7 +1206,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_constant("button_margin", "Tree", default_margin_size * EDSCALE);
theme->set_constant("scroll_border", "Tree", 40 * EDSCALE);
theme->set_constant("scroll_speed", "Tree", 12);
- theme->set_constant("outline_size", "Tree", 0 * EDSCALE);
+ theme->set_constant("outline_size", "Tree", 0);
const Color guide_color = mono_color * Color(1, 1, 1, 0.05);
Color relationship_line_color = mono_color * Color(1, 1, 1, relationship_line_opacity);
@@ -1302,7 +1302,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_constant("h_separation", "ItemList", 6 * EDSCALE);
theme->set_constant("icon_margin", "ItemList", 6 * EDSCALE);
theme->set_constant("line_separation", "ItemList", 3 * EDSCALE);
- theme->set_constant("outline_size", "ItemList", 0 * EDSCALE);
+ theme->set_constant("outline_size", "ItemList", 0);
// TabBar & TabContainer
Ref<StyleBoxFlat> style_tabbar_background = make_flat_stylebox(dark_color_1, 0, 0, 0, 0, corner_radius * EDSCALE);
@@ -1340,9 +1340,9 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_icon("drop_mark", "TabContainer", theme->get_icon(SNAME("GuiTabDropMark"), SNAME("EditorIcons")));
theme->set_icon("drop_mark", "TabBar", theme->get_icon(SNAME("GuiTabDropMark"), SNAME("EditorIcons")));
theme->set_constant("side_margin", "TabContainer", 0);
- theme->set_constant("outline_size", "TabContainer", 0 * EDSCALE);
+ theme->set_constant("outline_size", "TabContainer", 0);
theme->set_constant("h_separation", "TabBar", 4 * EDSCALE);
- theme->set_constant("outline_size", "TabBar", 0 * EDSCALE);
+ theme->set_constant("outline_size", "TabBar", 0);
// Content of each tab.
Ref<StyleBoxFlat> style_content_panel = style_default->duplicate();
@@ -1438,7 +1438,10 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_color("selection_color", "LineEdit", selection_color);
theme->set_color("clear_button_color", "LineEdit", font_color);
theme->set_color("clear_button_color_pressed", "LineEdit", accent_color);
- theme->set_constant("outline_size", "LineEdit", 0 * EDSCALE);
+
+ theme->set_constant("minimum_character_width", "LineEdit", 4);
+ theme->set_constant("outline_size", "LineEdit", 0);
+ theme->set_constant("caret_width", "LineEdit", 1);
// TextEdit
theme->set_stylebox("normal", "TextEdit", style_line_edit);
@@ -1455,7 +1458,8 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_color("background_color", "TextEdit", Color(0, 0, 0, 0));
theme->set_constant("line_spacing", "TextEdit", 4 * EDSCALE);
- theme->set_constant("outline_size", "TextEdit", 0 * EDSCALE);
+ theme->set_constant("outline_size", "TextEdit", 0);
+ theme->set_constant("caret_width", "TextEdit", 1);
theme->set_icon("h_grabber", "SplitContainer", theme->get_icon(SNAME("GuiHsplitter"), SNAME("EditorIcons")));
theme->set_icon("v_grabber", "SplitContainer", theme->get_icon(SNAME("GuiVsplitter"), SNAME("EditorIcons")));
@@ -1592,7 +1596,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_constant("shadow_offset_x", "RichTextLabel", 1 * EDSCALE);
theme->set_constant("shadow_offset_y", "RichTextLabel", 1 * EDSCALE);
theme->set_constant("shadow_outline_size", "RichTextLabel", 1 * EDSCALE);
- theme->set_constant("outline_size", "RichTextLabel", 0 * EDSCALE);
+ theme->set_constant("outline_size", "RichTextLabel", 0);
theme->set_stylebox("focus", "RichTextLabel", make_empty_stylebox());
theme->set_stylebox("normal", "RichTextLabel", style_tree_bg);
@@ -1636,7 +1640,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_constant("shadow_offset_y", "Label", 1 * EDSCALE);
theme->set_constant("shadow_outline_size", "Label", 1 * EDSCALE);
theme->set_constant("line_spacing", "Label", 3 * EDSCALE);
- theme->set_constant("outline_size", "Label", 0 * EDSCALE);
+ theme->set_constant("outline_size", "Label", 0);
// LinkButton
theme->set_stylebox("focus", "LinkButton", style_empty);
@@ -1648,7 +1652,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_color("font_disabled_color", "LinkButton", font_disabled_color);
theme->set_color("font_outline_color", "LinkButton", font_outline_color);
- theme->set_constant("outline_size", "LinkButton", 0 * EDSCALE);
+ theme->set_constant("outline_size", "LinkButton", 0);
// TooltipPanel + TooltipLabel
// TooltipPanel is also used for custom tooltips, while TooltipLabel
@@ -1685,7 +1689,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_stylebox("fill", "ProgressBar", make_stylebox(theme->get_icon(SNAME("GuiProgressFill"), SNAME("EditorIcons")), 6, 6, 6, 6, 2, 1, 2, 1));
theme->set_color("font_color", "ProgressBar", font_color);
theme->set_color("font_outline_color", "ProgressBar", font_outline_color);
- theme->set_constant("outline_size", "ProgressBar", 0 * EDSCALE);
+ theme->set_constant("outline_size", "ProgressBar", 0);
// GraphEdit
theme->set_stylebox("bg", "GraphEdit", style_tree_bg);
diff --git a/editor/editor_toaster.cpp b/editor/editor_toaster.cpp
index 10c3e963af..866a6db2a6 100644
--- a/editor/editor_toaster.cpp
+++ b/editor/editor_toaster.cpp
@@ -145,6 +145,12 @@ void EditorToaster::_notification(int p_what) {
}
void EditorToaster::_error_handler(void *p_self, const char *p_func, const char *p_file, int p_line, const char *p_error, const char *p_errorexp, bool p_editor_notify, ErrorHandlerType p_type) {
+ // This may be called from a thread. Since we will deal with non-thread-safe elements,
+ // we have to put it in the queue for safety.
+ callable_mp_static(&EditorToaster::_error_handler_impl).bind(p_file, p_line, p_error, p_errorexp, p_editor_notify, p_type).call_deferred();
+}
+
+void EditorToaster::_error_handler_impl(const String &p_file, int p_line, const String &p_error, const String &p_errorexp, bool p_editor_notify, int p_type) {
if (!EditorToaster::get_singleton() || !EditorToaster::get_singleton()->is_inside_tree()) {
return;
}
@@ -158,13 +164,8 @@ void EditorToaster::_error_handler(void *p_self, const char *p_func, const char
int show_all_setting = EDITOR_GET("interface/editor/show_internal_errors_in_toast_notifications");
if (p_editor_notify || (show_all_setting == 0 && in_dev) || show_all_setting == 1) {
- String err_str;
- if (p_errorexp && p_errorexp[0]) {
- err_str = String::utf8(p_errorexp);
- } else {
- err_str = String::utf8(p_error);
- }
- String tooltip_str = String::utf8(p_file) + ":" + itos(p_line);
+ String err_str = !p_errorexp.is_empty() ? p_errorexp : p_error;
+ String tooltip_str = p_file + ":" + itos(p_line);
if (!p_editor_notify) {
if (p_type == ERR_HANDLER_WARNING) {
@@ -174,7 +175,7 @@ void EditorToaster::_error_handler(void *p_self, const char *p_func, const char
}
}
- Severity severity = (p_type == ERR_HANDLER_WARNING) ? SEVERITY_WARNING : SEVERITY_ERROR;
+ Severity severity = ((ErrorHandlerType)p_type == ERR_HANDLER_WARNING) ? SEVERITY_WARNING : SEVERITY_ERROR;
EditorToaster::get_singleton()->popup_str(err_str, severity, tooltip_str);
}
}
diff --git a/editor/editor_toaster.h b/editor/editor_toaster.h
index 6b834f8288..4837756b4e 100644
--- a/editor/editor_toaster.h
+++ b/editor/editor_toaster.h
@@ -89,6 +89,7 @@ private:
const double default_message_duration = 5.0;
static void _error_handler(void *p_self, const char *p_func, const char *p_file, int p_line, const char *p_error, const char *p_errorexp, bool p_editor_notify, ErrorHandlerType p_type);
+ static void _error_handler_impl(const String &p_file, int p_line, const String &p_error, const String &p_errorexp, bool p_editor_notify, int p_type);
void _update_vbox_position();
void _update_disable_notifications_button();
void _auto_hide_or_free_toasts();
diff --git a/editor/import/resource_importer_obj.cpp b/editor/import/resource_importer_obj.cpp
index 3dd01754a3..89e2e36b77 100644
--- a/editor/import/resource_importer_obj.cpp
+++ b/editor/import/resource_importer_obj.cpp
@@ -245,6 +245,7 @@ static Error _parse_obj(const String &p_path, List<Ref<Mesh>> &r_meshes, bool p_
String current_group;
uint32_t smooth_group = 0;
bool smoothing = true;
+ const uint32_t no_smoothing_smooth_group = (uint32_t)-1;
while (true) {
String l = f->get_line().strip_edges();
@@ -349,10 +350,7 @@ static Error _parse_obj(const String &p_path, List<Ref<Mesh>> &r_meshes, bool p_
if (!colors.is_empty()) {
surf_tool->set_color(colors[vtx]);
}
- if (!smoothing) {
- smooth_group++;
- }
- surf_tool->set_smooth_group(smooth_group);
+ surf_tool->set_smooth_group(smoothing ? smooth_group : no_smoothing_smooth_group);
surf_tool->add_vertex(vertex);
}
@@ -367,8 +365,10 @@ static Error _parse_obj(const String &p_path, List<Ref<Mesh>> &r_meshes, bool p_
do_smooth = true;
}
if (do_smooth != smoothing) {
- smooth_group++;
smoothing = do_smooth;
+ if (smoothing) {
+ smooth_group++;
+ }
}
} else if (/*l.begins_with("g ") ||*/ l.begins_with("usemtl ") || (l.begins_with("o ") || f->eof_reached())) { //commit group to mesh
//groups are too annoying
diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp
index 4814b9ae3b..9522ab6e7e 100644
--- a/editor/plugins/canvas_item_editor_plugin.cpp
+++ b/editor/plugins/canvas_item_editor_plugin.cpp
@@ -1239,6 +1239,7 @@ bool CanvasItemEditor::_gui_input_zoom_or_pan(const Ref<InputEvent> &p_event, bo
bool panner_active = panner->gui_input(p_event, warped_panning ? viewport->get_global_rect() : Rect2());
if (panner->is_panning() != pan_pressed) {
pan_pressed = panner->is_panning();
+ _update_cursor();
}
if (panner_active) {
diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp
index e443548550..e110e52454 100644
--- a/editor/plugins/node_3d_editor_plugin.cpp
+++ b/editor/plugins/node_3d_editor_plugin.cpp
@@ -5162,10 +5162,10 @@ Node3DEditorViewport::Node3DEditorViewport(Node3DEditor *p_spatial_editor, int p
position_control->set_navigation_mode(Node3DEditorViewport::NAVIGATION_MOVE);
position_control->set_custom_minimum_size(Size2(navigation_control_size, navigation_control_size) * EDSCALE);
position_control->set_h_size_flags(SIZE_SHRINK_END);
- position_control->set_anchor_and_offset(SIDE_LEFT, ANCHOR_BEGIN, 0 * EDSCALE);
+ position_control->set_anchor_and_offset(SIDE_LEFT, ANCHOR_BEGIN, 0);
position_control->set_anchor_and_offset(SIDE_TOP, ANCHOR_END, -navigation_control_size * EDSCALE);
position_control->set_anchor_and_offset(SIDE_RIGHT, ANCHOR_BEGIN, navigation_control_size * EDSCALE);
- position_control->set_anchor_and_offset(SIDE_BOTTOM, ANCHOR_END, 0 * EDSCALE);
+ position_control->set_anchor_and_offset(SIDE_BOTTOM, ANCHOR_END, 0);
position_control->set_viewport(this);
surface->add_child(position_control);
@@ -5175,8 +5175,8 @@ Node3DEditorViewport::Node3DEditorViewport(Node3DEditor *p_spatial_editor, int p
look_control->set_h_size_flags(SIZE_SHRINK_END);
look_control->set_anchor_and_offset(SIDE_LEFT, ANCHOR_END, -navigation_control_size * EDSCALE);
look_control->set_anchor_and_offset(SIDE_TOP, ANCHOR_END, -navigation_control_size * EDSCALE);
- look_control->set_anchor_and_offset(SIDE_RIGHT, ANCHOR_END, 0 * EDSCALE);
- look_control->set_anchor_and_offset(SIDE_BOTTOM, ANCHOR_END, 0 * EDSCALE);
+ look_control->set_anchor_and_offset(SIDE_RIGHT, ANCHOR_END, 0);
+ look_control->set_anchor_and_offset(SIDE_BOTTOM, ANCHOR_END, 0);
look_control->set_viewport(this);
surface->add_child(look_control);
diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp
index a749e6de41..46218869b3 100644
--- a/editor/plugins/script_editor_plugin.cpp
+++ b/editor/plugins/script_editor_plugin.cpp
@@ -1060,7 +1060,7 @@ bool ScriptEditor::_test_script_times_on_disk(Ref<Resource> p_for_script) {
script_editor->reload_scripts();
need_reload = false;
} else {
- disk_changed->call_deferred(SNAME("popup_centered_ratio"), 0.5);
+ disk_changed->call_deferred(SNAME("popup_centered_ratio"), 0.3);
}
}
diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp
index af761a2cea..a563d17c57 100644
--- a/editor/plugins/visual_shader_editor_plugin.cpp
+++ b/editor/plugins/visual_shader_editor_plugin.cpp
@@ -5931,7 +5931,7 @@ VisualShaderEditor::VisualShaderEditor() {
add_options.push_back(AddOption("ATanH", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse hyperbolic tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ATANH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D));
add_options.push_back(AddOption("ATanH", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse hyperbolic tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ATANH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D));
add_options.push_back(AddOption("ATanH", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse hyperbolic tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ATANH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D));
- add_options.push_back(AddOption("Ceil", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer that is greater than or equal to the parameter."), { VisualShaderNodeVectorFunc::FUNC_CEIL }, VisualShaderNode::PORT_TYPE_VECTOR_2D));
+ add_options.push_back(AddOption("Ceil", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer that is greater than or equal to the parameter."), { VisualShaderNodeVectorFunc::FUNC_CEIL, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D));
add_options.push_back(AddOption("Ceil", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer that is greater than or equal to the parameter."), { VisualShaderNodeVectorFunc::FUNC_CEIL, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D));
add_options.push_back(AddOption("Ceil", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer that is greater than or equal to the parameter."), { VisualShaderNodeVectorFunc::FUNC_CEIL, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D));
add_options.push_back(AddOption("Clamp", "Vector/Functions", "VisualShaderNodeClamp", TTR("Constrains a value to lie between two further values."), { VisualShaderNodeClamp::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D));
diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp
index 5ae90224a4..75773edc86 100644
--- a/editor/project_manager.cpp
+++ b/editor/project_manager.cpp
@@ -2256,7 +2256,7 @@ void ProjectManager::_open_selected_projects_ask() {
return;
}
- const Size2i popup_min_size = Size2i(600.0 * EDSCALE, 400.0 * EDSCALE);
+ const Size2i popup_min_size = Size2i(600.0 * EDSCALE, 0);
if (selected_list.size() > 1) {
multi_open_ask->set_text(vformat(TTR("You requested to open %d projects in parallel. Do you confirm?\nNote that usual checks for engine version compatibility will be bypassed."), selected_list.size()));
@@ -2341,7 +2341,7 @@ void ProjectManager::_open_selected_projects_ask() {
void ProjectManager::_full_convert_button_pressed() {
ask_update_settings->hide();
- ask_full_convert_dialog->popup_centered(Size2i(600.0 * EDSCALE, 400.0 * EDSCALE));
+ ask_full_convert_dialog->popup_centered(Size2i(600.0 * EDSCALE, 0));
ask_full_convert_dialog->get_cancel_button()->grab_focus();
}