Related: tdf#130161 invalid iterator used in BrowseMode::Subs case

xTreeIter is invalid here before AddEntry, afterwards it will remain
invalid unless it was passed in to AddEntry to be updated to the
newly inserted location, and we need it to be valid in the
BrowseMode::Subs case

Change-Id: I4831b7713bdb67889604fd4f8a7cd1644fd81a10
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88394
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
diff --git a/basctl/source/basicide/bastype2.cxx b/basctl/source/basicide/bastype2.cxx
index feb45f3..80ed26a 100644
--- a/basctl/source/basicide/bastype2.cxx
+++ b/basctl/source/basicide/bastype2.cxx
@@ -983,7 +983,7 @@ void SbTreeListBox::ImpCreateLibSubEntries(const weld::TreeIter& rLibRootEntry, 
                        bool bModuleEntry = FindEntry(aModName, OBJ_TYPE_MODULE, *xTreeIter);
                        if (!bModuleEntry)
                        {
                            AddEntry(aModName, RID_BMP_MODULE, &rLibRootEntry, false, std::make_unique<Entry>(OBJ_TYPE_MODULE));
                            AddEntry(aModName, RID_BMP_MODULE, &rLibRootEntry, false, std::make_unique<Entry>(OBJ_TYPE_MODULE), xTreeIter.get());
                        }

                        // methods