Apply transform for LineEdit, RichTextLabel, and TextEdit popup positions

This commit is contained in:
dugramen 2025-03-05 15:41:12 -05:00
parent 134da37497
commit ad812cf29d
3 changed files with 5 additions and 5 deletions

View file

@ -399,7 +399,7 @@ void LineEdit::gui_input(const Ref<InputEvent> &p_event) {
if (context_menu_enabled) { if (context_menu_enabled) {
_update_context_menu(); _update_context_menu();
menu->set_position(get_screen_position() + get_local_mouse_position()); menu->set_position(get_screen_transform().xform(get_local_mouse_position()));
menu->reset_size(); menu->reset_size();
menu->popup(); menu->popup();
} }
@ -630,7 +630,7 @@ void LineEdit::gui_input(const Ref<InputEvent> &p_event) {
if (k->is_action("ui_menu", true)) { if (k->is_action("ui_menu", true)) {
_update_context_menu(); _update_context_menu();
Point2 pos = Point2(get_caret_pixel_pos().x, (get_size().y + theme_cache.font->get_height(theme_cache.font_size)) / 2); Point2 pos = Point2(get_caret_pixel_pos().x, (get_size().y + theme_cache.font->get_height(theme_cache.font_size)) / 2);
menu->set_position(get_screen_position() + pos); menu->set_position(get_screen_transform().xform(pos));
menu->reset_size(); menu->reset_size();
menu->popup(); menu->popup();
menu->grab_focus(); menu->grab_focus();

View file

@ -2189,7 +2189,7 @@ void RichTextLabel::gui_input(const Ref<InputEvent> &p_event) {
if (b->get_button_index() == MouseButton::RIGHT && context_menu_enabled) { if (b->get_button_index() == MouseButton::RIGHT && context_menu_enabled) {
_update_context_menu(); _update_context_menu();
menu->set_position(get_screen_position() + b->get_position()); menu->set_position(get_screen_transform().xform(b->get_position()));
menu->reset_size(); menu->reset_size();
menu->popup(); menu->popup();
grab_focus(); grab_focus();

View file

@ -2006,7 +2006,7 @@ void TextEdit::gui_input(const Ref<InputEvent> &p_gui_input) {
if (context_menu_enabled) { if (context_menu_enabled) {
_update_context_menu(); _update_context_menu();
menu->set_position(get_screen_position() + mpos); menu->set_position(get_screen_transform().xform(mpos));
menu->reset_size(); menu->reset_size();
menu->popup(); menu->popup();
grab_focus(); grab_focus();
@ -2291,7 +2291,7 @@ void TextEdit::gui_input(const Ref<InputEvent> &p_gui_input) {
if (context_menu_enabled) { if (context_menu_enabled) {
_update_context_menu(); _update_context_menu();
adjust_viewport_to_caret(); adjust_viewport_to_caret();
menu->set_position(get_screen_position() + get_caret_draw_pos()); menu->set_position(get_screen_transform().xform(get_caret_draw_pos()));
menu->reset_size(); menu->reset_size();
menu->popup(); menu->popup();
menu->grab_focus(); menu->grab_focus();