vcl/jsdialog/jsdialogbuilder.cxx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
New commits: commit d08307027b55f1f695cfb5f7f0ec5cab2a77db2f Author: Szymon Kłos <szymon.k...@collabora.com> AuthorDate: Wed Mar 5 06:59:03 2025 +0100 Commit: Caolán McNamara <caolan.mcnam...@collabora.com> CommitDate: Wed Mar 5 13:14:17 2025 +0100 jsdialogs: fix nested containters lookup Do not break the loop early if not found a widget. We need to go up sometimes. Fixes regression from commit 13af671fda1317175a93fd747e5455ce897ed167 jsdialog: share code for widget registry Signed-off-by: Szymon Kłos <szymon.k...@collabora.com> Change-Id: I5516c0708452e95b2b6067e3a1fb99582b47dcf7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182525 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> diff --git a/vcl/jsdialog/jsdialogbuilder.cxx b/vcl/jsdialog/jsdialogbuilder.cxx index 6c3ce2da6f5e..0fdd2bc53728 100644 --- a/vcl/jsdialog/jsdialogbuilder.cxx +++ b/vcl/jsdialog/jsdialogbuilder.cxx @@ -521,11 +521,9 @@ std::unique_ptr<weld::Container> JSInstanceBuilder::weld_container(const OUStrin // use parent builder to send update - avoid multiple calls from many builders vcl::Window* pParent = pContainer->GetParent(); OUString sId = OUString::number(m_nWindowId); - while (pParent) + auto aWidgetMap = Widgets().Find(sId); + while (pParent && aWidgetMap && !aWidgetMap->Find(pParent->get_id())) { - auto aWidgetMap = Widgets().Find(sId); - if (!aWidgetMap || !aWidgetMap->Find(pParent->get_id())) - break; pParent = pParent->GetParent(); }