sw/source/uibase/utlui/content.cxx |   12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

New commits:
commit 9ba0df5d3ccb71acd912507ee0e9e4f3ab4a9b12
Author:     Jim Raykowski <rayk...@gmail.com>
AuthorDate: Sun Apr 26 23:23:30 2020 -0800
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Sat May 2 20:25:30 2020 +0200

    Resolves: tdf#132477 Fix Writer Navigator drag and drop crash
    
    Dont allow drag and drop when tree root is selected
    
    Change-Id: Ia5b8c07861c4ac9b0e4632ccc09e1cd9211e2a8e
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92962
    Tested-by: Jenkins
    Tested-by: Caolán McNamara <caol...@redhat.com>
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/sw/source/uibase/utlui/content.cxx 
b/sw/source/uibase/utlui/content.cxx
index d940f90b1637..87ae08cfcecb 100644
--- a/sw/source/uibase/utlui/content.cxx
+++ b/sw/source/uibase/utlui/content.cxx
@@ -927,6 +927,14 @@ IMPL_LINK(SwContentTree, DragBeginHdl, bool&, 
rUnsetDragIcon, bool)
 
     bool bDisallow = true;
 
+    // don't allow if tree root is selected
+    std::unique_ptr<weld::TreeIter> xEntry(m_xTreeView->make_iterator());
+    bool bEntry = m_xTreeView->get_selected(xEntry.get());
+    if (!bEntry || lcl_IsContentType(*xEntry, *m_xTreeView))
+    {
+        return true; // disallow
+    }
+
     rtl::Reference<TransferDataContainer> xContainer = new 
TransferDataContainer;
     sal_Int8 nDragMode = DND_ACTION_COPYMOVE | DND_ACTION_LINK;
 
@@ -940,10 +948,6 @@ IMPL_LINK(SwContentTree, DragBeginHdl, bool&, 
rUnsetDragIcon, bool)
 
         std::unique_ptr<weld::TreeIter> xScratch(m_xTreeView->make_iterator());
 
-        std::unique_ptr<weld::TreeIter> xEntry(m_xTreeView->make_iterator());
-        bool bEntry = m_xTreeView->get_selected(xEntry.get());
-        if (!bEntry)
-            return true; // disallow
         // Find first selected of continuous siblings
         while (true)
         {
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to