aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcutealien <cutealien@dfc29bdd-3216-0410-991c-e03cc46cb475>2022-09-27 16:02:39 +0000
committersfan5 <sfan5@live.de>2023-03-24 17:09:11 +0100
commit3cf75cdce41a9d1e40dc2398cca295bf28d54d2e (patch)
tree4b333ced2d5da9b87a8cd397373173d0ea7cbcb5
parenta7f9afd2898a39cec175d877774b729c61630274 (diff)
downloadirrlicht-3cf75cdce41a9d1e40dc2398cca295bf28d54d2e.tar.xz
Fix IGUIElements not getting a tab order because of invisible or disabled parents.
First problem was that IGUIElement::getNextElement wasn't passing includeInvisible and includeDisabled flags recursively, so anything deeper than one level could fail if an element was disabled/invisible in between while it was created. Second problem was that setTabOrder(-1) did ignore disabled elements. So when any parent was disabled when elements were created they never got a tab order. git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6428 dfc29bdd-3216-0410-991c-e03cc46cb475
-rw-r--r--include/IGUIElement.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/IGUIElement.h b/include/IGUIElement.h
index 4026b7e..15fd3d1 100644
--- a/include/IGUIElement.h
+++ b/include/IGUIElement.h
@@ -433,7 +433,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;
@@ -706,7 +706,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;
}