diff --git a/changes.txt b/changes.txt index 438cb17b..5a35fae7 100644 --- a/changes.txt +++ b/changes.txt @@ -1,6 +1,9 @@ -------------------------- Changes in 1.9 (not yet released) +- Bugfix: IGUIElement::getNextElement now passing includeInvisible and includeDisabled flags recursively instead of disabling those for children. + This fixes problems that elements sometimes didn't get a tab order because some parent was invisible and so tab'ing for them failed completely. + Also setTabOrder(-1) now also checks for disabled elements for the same reason (disabled parent causing children to not get a tab-order). - Fix MouseButtonStates for mouse events in CIrrDeviceSDL when middle or right button are released. - CGUIContextMenu no longer marks EMIE_MOUSE_MOVED as handled - core::array::linear_search and linear_reverse_search can now work with any types as long as corresponding operator== is implemented. diff --git a/include/IGUIElement.h b/include/IGUIElement.h index 9ad61264..25b88a3d 100644 --- a/include/IGUIElement.h +++ b/include/IGUIElement.h @@ -434,7 +434,7 @@ public: if (el) { // find the highest element number - el->getNextElement(-1, true, IsTabGroup, first, closest, true); + el->getNextElement(-1, true, IsTabGroup, first, closest, true, true); if (first) { TabOrder = first->getTabOrder() + 1; @@ -720,7 +720,7 @@ public: } } // search within children - if ((*it)->getNextElement(startOrder, reverse, group, first, closest)) + if ((*it)->getNextElement(startOrder, reverse, group, first, closest, includeInvisible, includeDisabled)) { return true; }