Fix some editor quick actions not being clickable

Add separate UI element IDs for the quick action buttons in the prompt dialog, to ensure that the UI element IDs are different from the IDs used for the regular menu buttons. Otherwise, some buttons could not be activated with clicks because the menu button with the same ID was rendered first.

Closes #8998.
This commit is contained in:
Robert Müller 2024-09-20 10:37:50 +02:00
parent b6f80e5375
commit 30021839c7
2 changed files with 5 additions and 1 deletions

View file

@ -130,7 +130,7 @@ void CPrompt::OnRender(CUIRect _)
for(size_t i = 0; i < m_vpFilteredPromptList.size(); i++) for(size_t i = 0; i < m_vpFilteredPromptList.size(); i++)
{ {
const CListboxItem Item = s_ListBox.DoNextItem(m_vpFilteredPromptList[i], m_PromptSelectedIndex >= 0 && (size_t)m_PromptSelectedIndex == i); const CListboxItem Item = s_ListBox.DoNextItem(m_vpFilteredPromptList[i]->ActionButtonId(), m_PromptSelectedIndex >= 0 && (size_t)m_PromptSelectedIndex == i);
if(!Item.m_Visible) if(!Item.m_Visible)
continue; continue;

View file

@ -20,6 +20,8 @@ private:
FButtonActiveCallback m_pfnActiveCallback; FButtonActiveCallback m_pfnActiveCallback;
FButtonColorCallback m_pfnColorCallback; FButtonColorCallback m_pfnColorCallback;
const char m_ActionButtonId = 0;
public: public:
CQuickAction( CQuickAction(
const char *pLabel, const char *pLabel,
@ -64,6 +66,8 @@ public:
} }
const char *Description() const { return m_pDescription; } const char *Description() const { return m_pDescription; }
const void *ActionButtonId() const { return &m_ActionButtonId; }
}; };
#endif #endif