mirror of
https://github.com/vcmi/vcmi.git
synced 2025-08-13 19:54:17 +02:00
Fix closing dropdown box via clicking outside bounds
This commit is contained in:
@@ -448,6 +448,11 @@ TemplatesDropBox::TemplatesDropBox(RandomMapTab & randomMapTab, int3 size):
|
||||
w->setAmount(curItems.size());
|
||||
}
|
||||
|
||||
//FIXME: this should be done by InterfaceObjectConfigurable, but might have side-effects
|
||||
pos = children.front()->pos;
|
||||
for (auto const & child : children)
|
||||
pos = pos.include(child->pos);
|
||||
|
||||
updateListItems();
|
||||
}
|
||||
|
||||
@@ -469,16 +474,10 @@ void TemplatesDropBox::sliderMove(int slidPos)
|
||||
|
||||
void TemplatesDropBox::clickLeft(tribool down, bool previousState)
|
||||
{
|
||||
if(down && !isActive())
|
||||
if (!pos.isInside(GH.getCursorPosition()))
|
||||
{
|
||||
auto w = widget<CSlider>("slider");
|
||||
|
||||
// pop the interface only if the mouse is not clicking on the slider
|
||||
if (!w || !w->isMouseLeftButtonPressed())
|
||||
{
|
||||
assert(GH.windows().isTopWindow(this));
|
||||
GH.windows().popWindows(1);
|
||||
}
|
||||
assert(GH.windows().isTopWindow(this));
|
||||
GH.windows().popWindows(1);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user