sw/source/uibase/dbui/dbtree.cxx |    2 ++
 1 file changed, 2 insertions(+)

New commits:
commit c4767868f1ee024efdd672cb21de9e3258c56694
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Fri May 21 16:46:23 2021 +0100
Commit:     Adolfo Jayme Barrientos <fit...@ubuntu.com>
CommitDate: Sat May 22 19:31:14 2021 +0200

    tdf#142294 drop placeholder on-demand node on directly populating node
    
    Initially there's a <placeholder> entry to indicate the load-on-demand
    state.  It needs to be there for the expander indicator to be
    drawn/shown when there are no "real" entries yet.
    
    Typically the user clicks on the expander, the expansion remove the
    <placeholder> entry and calls the provided expander-callback which has
    the change to populate the node.
    
    Here RequestingChildrenHdl is the expander-callback (set via
    connect_expanding) and populates the node like it should.
    
    But then there are two places where it is called directly outside the
    expander-callback so it merrily appends entries into the node, but
    because it's called outside the expander-callback the <placeholder>
    entry was never removed which is then a problem because of the resulting
    inconsistency.
    
    Change-Id: Ie7d034e3f41832591438127c82eba85deb610952
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115952
    Tested-by: Jenkins
    Reviewed-by: Adolfo Jayme Barrientos <fit...@ubuntu.com>

diff --git a/sw/source/uibase/dbui/dbtree.cxx b/sw/source/uibase/dbui/dbtree.cxx
index 96088dd2611c..75e654388832 100644
--- a/sw/source/uibase/dbui/dbtree.cxx
+++ b/sw/source/uibase/dbui/dbtree.cxx
@@ -341,6 +341,7 @@ void SwDBTreeList::Select(const OUString& rDBName, const 
OUString& rTableName, c
             }
             if (!m_xTreeView->iter_has_child(*xParent))
             {
+                m_xTreeView->set_children_on_demand(*xParent, false); // 
tdf#142294 drop placeholder on-demand node
                 RequestingChildrenHdl(*xParent);
                 // If successful, it will be expanded in a call to 
scroll_to_row for its children
             }
@@ -362,6 +363,7 @@ void SwDBTreeList::Select(const OUString& rDBName, const 
OUString& rTableName, c
                     {
                         if (!m_xTreeView->iter_has_child(*xParent))
                         {
+                            m_xTreeView->set_children_on_demand(*xParent, 
false); // tdf#142294 drop placeholder on-demand node
                             RequestingChildrenHdl(*xParent);
                             m_xTreeView->expand_row(*xParent);
                         }
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to