fix fx gadget picking

This commit is contained in:
shun-iwasawa 2022-02-21 18:21:22 +09:00 committed by manongjohn
parent 25f6898350
commit 37ac349b9a

View file

@ -1831,15 +1831,16 @@ void FxGadgetController::draw(bool picking) {
//---------------------------------------------------------------------------
void FxGadgetController::selectById(unsigned int id) {
std::map<GLuint, FxGadget *>::iterator it;
it = m_idTable.find(id);
FxGadget *selectedGadget = it != m_idTable.end() ? it->second : 0;
std::map<GLuint, FxGadget *>::iterator it = m_idTable.find(id);
FxGadget *selectedGadget = it != m_idTable.end() ? it->second : nullptr;
if (selectedGadget != m_selectedGadget) {
if (m_selectedGadget) m_selectedGadget->select(-1);
m_selectedGadget = selectedGadget;
if (m_selectedGadget)
m_selectedGadget->select(id - m_selectedGadget->getId());
}
if (!m_selectedGadget) return;
int handleId = id - m_selectedGadget->getId();
if (!m_selectedGadget->isSelected(handleId))
m_selectedGadget->select(handleId);
}
//---------------------------------------------------------------------------