I guess I found the reason.
It's not because of clicking & dragging same item.
It's because of order of calling callback.
void OnItemPress(GameObject go, bool isPressed)
{
m_bPanelSelected = isPressed;
}
void OnItemSelect(GameObject go, bool isSelected)
{
if (!m_bPanelSelected && !isSelected)
DestroyPopup(false);
}
As you can see every item uses same callback.
So I don't know exactly whether current item gets lost focus by "other control", or by "prev item"
What I mean is when I click & drag item A and secondly item B, then A gets lost focus otherwise B gets focus.
But they are all processed in one callback.
So my problem occurs.
I'll try keep thinking on that more.
Thank you Aren for your hint.