From 1f3dcbd3f89c02857c77ab3a73bdaa11cfb2b143 Mon Sep 17 00:00:00 2001 From: scgm0 <2682963017@qq.com> Date: Thu, 8 Jan 2026 23:43:19 +0800 Subject: [PATCH] Fix PopupMenu size scaling again --- scene/gui/popup_menu.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scene/gui/popup_menu.cpp b/scene/gui/popup_menu.cpp index 2ddbb11b85..775f6334dd 100644 --- a/scene/gui/popup_menu.cpp +++ b/scene/gui/popup_menu.cpp @@ -3415,8 +3415,9 @@ void PopupMenu::_pre_popup() { p = p->get_parent(); } - if (scale_with_parent && p) { - Size2 scale = get_force_native() ? get_parent_viewport()->get_popup_base_transform_native().get_scale() : get_parent_viewport()->get_popup_base_transform().get_scale(); + Viewport *vp = get_parent_viewport(); + if (scale_with_parent && vp) { + Size2 scale = is_embedded() ? vp->get_popup_base_transform().get_scale() : vp->get_popup_base_transform_native().get_scale(); CanvasItem *c = Object::cast_to(get_parent()); if (c) { scale *= c->get_global_transform_with_canvas().get_scale();