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();
         }
 

Reply via email to