From 6f79fde2ef0152c60658fde33e95955ba9ef7858 Mon Sep 17 00:00:00 2001 From: kit Date: Sun, 25 Jan 2026 14:48:45 -0500 Subject: [PATCH] Fix crash on removing Windows PopupMenu submenu (cherry picked from commit f3dacf24b0b60e78ca74f2566eef26fb0c7d1767) --- platform/windows/native_menu_windows.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/platform/windows/native_menu_windows.cpp b/platform/windows/native_menu_windows.cpp index ea1c118167f..4d314221e6f 100644 --- a/platform/windows/native_menu_windows.cpp +++ b/platform/windows/native_menu_windows.cpp @@ -996,15 +996,15 @@ void NativeMenuWindows::set_item_submenu(const RID &p_rid, int p_idx, const RID int count = GetMenuItemCount(md->menu); ERR_FAIL_COND(p_idx >= count); - MenuData *md_sub = menus.get_or_null(p_submenu_rid); - ERR_FAIL_COND_MSG(md->menu == md_sub->menu, "Can't set submenu to self!"); - MENUITEMINFOW item; ZeroMemory(&item, sizeof(item)); item.cbSize = sizeof(item); item.fMask = MIIM_SUBMENU; if (GetMenuItemInfoW(md->menu, p_idx, true, &item)) { if (p_submenu_rid.is_valid()) { + MenuData *md_sub = menus.get_or_null(p_submenu_rid); + ERR_FAIL_NULL(md_sub); + ERR_FAIL_COND_MSG(md->menu == md_sub->menu, "Can't set submenu to self!"); item.hSubMenu = md_sub->menu; } else { item.hSubMenu = nullptr;