diff options
author | DS <vorunbekannt75@web.de> | 2022-09-13 13:48:28 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-13 12:48:28 +0100 |
commit | f3f3b752f2b13e1edb6d495a161fe49e960453c9 (patch) | |
tree | d278d296c47f808f5587a051beb6b6341cbaa99c /src/gui/guiFormSpecMenu.cpp | |
parent | cea5fd56a4b724fe6efe6852dc849d517a61d0e2 (diff) | |
download | minetest-f3f3b752f2b13e1edb6d495a161fe49e960453c9.tar.xz |
Fix tooltips for dropdown, scrollbar and more (#12747)
Diffstat (limited to 'src/gui/guiFormSpecMenu.cpp')
-rw-r--r-- | src/gui/guiFormSpecMenu.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/gui/guiFormSpecMenu.cpp b/src/gui/guiFormSpecMenu.cpp index f1b33ab81..846b657d7 100644 --- a/src/gui/guiFormSpecMenu.cpp +++ b/src/gui/guiFormSpecMenu.cpp @@ -825,9 +825,9 @@ void GUIFormSpecMenu::parseImage(parserData* data, const std::string &element) core::rect<s32> middle; if (parts.size() >= 4) parseMiddleRect(parts[3], &middle); - + // Temporary fix for issue #12581 in 5.6.0. - // Use legacy image when not rendering 9-slice image because GUIAnimatedImage + // Use legacy image when not rendering 9-slice image because GUIAnimatedImage // uses NNAA filter which causes visual artifacts when image uses alpha blending. gui::IGUIElement *e; @@ -3642,13 +3642,21 @@ void GUIFormSpecMenu::drawMenu() #endif bool hovered_element_found = false; - if (hovered != NULL) { + if (hovered) { if (m_show_debug) { core::rect<s32> rect = hovered->getAbsoluteClippingRect(); driver->draw2DRectangle(0x22FFFF00, rect, &rect); } - s32 id = hovered->getID(); + // find the formspec-element of the hovered IGUIElement (a parent) + s32 id; + for (gui::IGUIElement *hovered_fselem = hovered; hovered_fselem; + hovered_fselem = hovered_fselem->getParent()) { + id = hovered_fselem->getID(); + if (id != -1) + break; + } + u64 delta = 0; if (id == -1) { m_old_tooltip_id = id; |