This can be bad if the combo box is at the bottom of the screen. The list will than be rendered outside the window so it's not visible.
I fixed this by moving the drop-down-list over the combo box if it would be outside the window.
Add this code in CGUIComboBox::openCloseMenu() after the line "ListBox->drop();"
Code: Select all
// move listbox up if the box is outside the window
video::IVideoDriver* Driver = Environment->getVideoDriver();
r = ListBox->getAbsolutePosition();
if(r.LowerRightCorner.Y > Driver->getScreenSize().Height)
{
ListBox->setRelativePosition(core::rect<s32>(0, -AbsoluteRect.getHeight()-h, AbsoluteRect.getWidth(), 0));
}