tdf#140661 Give shapes names when ungrouping if they don't already have

Change-Id: I8242a697980e4f661a914998792ae9efdb090915
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111725
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
diff --git a/sw/source/core/doc/docdraw.cxx b/sw/source/core/doc/docdraw.cxx
index c070519..4468e64 100644
--- a/sw/source/core/doc/docdraw.cxx
+++ b/sw/source/core/doc/docdraw.cxx
@@ -329,6 +329,8 @@ void SwDoc::UnGroupSelection( SdrView& rDrawView )
                        // #i36010# - set layout direction of the position
                        pFormat->SetPositionLayoutDir(
                            text::PositionLayoutDir::PositionInLayoutDirOfAnchor );
                        if (pSubObj->GetName().isEmpty())
                            pSubObj->SetName(pFormat->GetName());
                        pFormatsAndObjs[i].emplace_back( pFormat, pSubObj );

                        if( bUndo )
diff --git a/sw/source/uibase/utlui/content.cxx b/sw/source/uibase/utlui/content.cxx
index ea338a0..8371dd3 100644
--- a/sw/source/uibase/utlui/content.cxx
+++ b/sw/source/uibase/utlui/content.cxx
@@ -3243,8 +3243,21 @@ void SwContentTree::UpdateTracking()
        {
            SdrObject* pSelected = pSdrView->GetMarkedObjectByIndex(0);
            OUString aName(pSelected->GetName());
            lcl_SelectByContentTypeAndName(this, *m_xTreeView,
                                           SwResId(STR_CONTENT_TYPE_DRAWOBJECT), aName);
            if (!aName.isEmpty())
                lcl_SelectByContentTypeAndName(this, *m_xTreeView,
                                               SwResId(STR_CONTENT_TYPE_DRAWOBJECT), aName);
            else
            {
                // clear treeview selections
                m_xTreeView->unselect_all();
                Select();
            }
        }
        else
        {
            // clear treeview selections
            m_xTreeView->unselect_all();
            Select();
        }
        return;
    }