1
0
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:
Ivan Savenko
2023-06-22 22:34:05 +03:00
parent dfeeeb1f5f
commit 7c5dcfd47b

View File

@@ -447,6 +447,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);
}
}