diff options
author | Kahrl <kahrl@gmx.net> | 2015-10-17 23:34:45 +0200 |
---|---|---|
committer | Kahrl <kahrl@gmx.net> | 2015-10-17 23:57:28 +0200 |
commit | c4d18623440b58b9f90629c798687608bc32c6da (patch) | |
tree | d864e0ebbbf752a9909a69dda4685488f5e16e6a /src/script/cpp_api/s_mainmenu.cpp | |
parent | 6b408248a16b0c61007247d8bce23a349f86b45c (diff) | |
download | minetest-c4d18623440b58b9f90629c798687608bc32c6da.tar.gz minetest-c4d18623440b58b9f90629c798687608bc32c6da.tar.bz2 minetest-c4d18623440b58b9f90629c798687608bc32c6da.zip |
Fix GUITable selection issues with trees
- setOpenedTrees(): this internal function was calling setSelected()
to update m_selected. Since setSelected() calls autoScroll(),
this caused the scrollbar to scroll back to the selected row
in some cases when that shouldn't be done.
For example, clicking the "+" to open a tree caused autoscroll.
Fix this by making setOpenedTrees() modify m_selected directly.
- setDynamicData(): set scrollbar position after calling
setSelected(), not before. This avoids setSelected()'s autoscroll
messing up the scrollbar position again.
- setSelected(): If an invisible row is selected, open all parents
of the selected row in order to make the selected row visible.
This fixes the issue where all the trees are closed again whenever
you return from the setting edit dialog to the settings tab.
Diffstat (limited to 'src/script/cpp_api/s_mainmenu.cpp')
0 files changed, 0 insertions, 0 deletions