[Libreoffice-commits] core.git: reportdesign/source

Noel Grandin (via logerrit) logerrit at kemper.freedesktop.org
Thu Apr 2 18:07:40 UTC 2020


 reportdesign/source/core/api/Section.cxx                    |   32 
 reportdesign/source/core/sdr/PropertyForward.cxx            |   92 +-
 reportdesign/source/core/sdr/RptObject.cxx                  |  222 ++---
 reportdesign/source/core/sdr/UndoActions.cxx                |  122 +-
 reportdesign/source/filter/xml/xmlAutoStyle.cxx             |   36 
 reportdesign/source/filter/xml/xmlColumn.cxx                |   76 -
 reportdesign/source/filter/xml/xmlControlProperty.cxx       |   22 
 reportdesign/source/filter/xml/xmlExport.cxx                |  494 +++++------
 reportdesign/source/filter/xml/xmlExportDocumentHandler.cxx |   20 
 reportdesign/source/filter/xml/xmlFixedContent.cxx          |   46 -
 reportdesign/source/filter/xml/xmlHelper.cxx                |  112 +-
 reportdesign/source/filter/xml/xmlImportDocumentHandler.cxx |   66 -
 reportdesign/source/filter/xml/xmlSubDocument.cxx           |   63 -
 reportdesign/source/ui/dlg/AddField.cxx                     |   92 +-
 reportdesign/source/ui/dlg/CondFormat.cxx                   |   22 
 reportdesign/source/ui/dlg/Condition.cxx                    |   44 
 reportdesign/source/ui/dlg/GroupsSorting.cxx                |  238 ++---
 reportdesign/source/ui/dlg/Navigator.cxx                    |   56 -
 reportdesign/source/ui/inspection/DataProviderHandler.cxx   |   34 
 reportdesign/source/ui/inspection/GeometryHandler.cxx       |  146 +--
 reportdesign/source/ui/misc/RptUndo.cxx                     |   86 -
 reportdesign/source/ui/misc/statusbarcontroller.cxx         |   94 +-
 reportdesign/source/ui/report/DesignView.cxx                |   30 
 reportdesign/source/ui/report/ReportController.cxx          |  531 +++++-------
 reportdesign/source/ui/report/ReportControllerObserver.cxx  |   48 -
 reportdesign/source/ui/report/ReportSection.cxx             |  316 +++----
 reportdesign/source/ui/report/ReportWindow.cxx              |   50 -
 reportdesign/source/ui/report/SectionView.cxx               |   52 -
 reportdesign/source/ui/report/StartMarker.cxx               |   30 
 reportdesign/source/ui/report/ViewsWindow.cxx               |   42 
 reportdesign/source/ui/report/dlgedfunc.cxx                 |  102 +-
 reportdesign/source/ui/report/propbrw.cxx                   |   30 
 32 files changed, 1722 insertions(+), 1724 deletions(-)

New commits:
commit ff7e960701ccacbd62bd2251f26561eeba8ebe8a
Author:     Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Thu Apr 2 12:06:45 2020 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Thu Apr 2 20:07:00 2020 +0200

    loplugin:flatten in reportdesign
    
    Change-Id: I6d8b2730cede4453e7afd581cc24ed101ca6c81b
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91557
    Tested-by: Noel Grandin <noel.grandin at collabora.co.uk>
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/reportdesign/source/core/api/Section.cxx b/reportdesign/source/core/api/Section.cxx
index 6aa10a6acaa2..761ed63e5c67 100644
--- a/reportdesign/source/core/api/Section.cxx
+++ b/reportdesign/source/core/api/Section.cxx
@@ -194,22 +194,22 @@ void OSection::init()
     uno::Reference< report::XReportDefinition> xReport = getReportDefinition();
     std::shared_ptr<rptui::OReportModel> pModel = OReportDefinition::getSdrModel(xReport);
     assert(pModel && "No model set at the report definition!");
-    if ( pModel )
-    {
-        uno::Reference<report::XSection> const xSection(this);
-        SdrPage & rSdrPage(*pModel->createNewPage(xSection));
-        m_xDrawPage.set(rSdrPage.getUnoPage(), uno::UNO_QUERY_THROW);
-        m_xDrawPage_ShapeGrouper.set(m_xDrawPage, uno::UNO_QUERY_THROW);
-        // apparently we may also get OReportDrawPage which doesn't support this
-        m_xDrawPage_FormSupplier.set(m_xDrawPage, uno::UNO_QUERY);
-        m_xDrawPage_Tunnel.set(m_xDrawPage, uno::UNO_QUERY_THROW);
-        // fdo#53872: now also exchange the XDrawPage in the SdrPage so that
-        // rSdrPage.getUnoPage returns this
-        rSdrPage.SetUnoPage(this);
-        // createNewPage _should_ have stored away 2 uno::References to this,
-        // so our ref count cannot be 1 here, so this isn't destroyed here
-        assert(m_refCount > 1);
-    }
+    if ( !pModel )
+        return;
+
+    uno::Reference<report::XSection> const xSection(this);
+    SdrPage & rSdrPage(*pModel->createNewPage(xSection));
+    m_xDrawPage.set(rSdrPage.getUnoPage(), uno::UNO_QUERY_THROW);
+    m_xDrawPage_ShapeGrouper.set(m_xDrawPage, uno::UNO_QUERY_THROW);
+    // apparently we may also get OReportDrawPage which doesn't support this
+    m_xDrawPage_FormSupplier.set(m_xDrawPage, uno::UNO_QUERY);
+    m_xDrawPage_Tunnel.set(m_xDrawPage, uno::UNO_QUERY_THROW);
+    // fdo#53872: now also exchange the XDrawPage in the SdrPage so that
+    // rSdrPage.getUnoPage returns this
+    rSdrPage.SetUnoPage(this);
+    // createNewPage _should_ have stored away 2 uno::References to this,
+    // so our ref count cannot be 1 here, so this isn't destroyed here
+    assert(m_refCount > 1);
 }
 
 // XSection
diff --git a/reportdesign/source/core/sdr/PropertyForward.cxx b/reportdesign/source/core/sdr/PropertyForward.cxx
index e0837cfe3794..09beffed51e2 100644
--- a/reportdesign/source/core/sdr/PropertyForward.cxx
+++ b/reportdesign/source/core/sdr/PropertyForward.cxx
@@ -87,62 +87,62 @@ OPropertyMediator::~OPropertyMediator()
 void SAL_CALL OPropertyMediator::propertyChange( const PropertyChangeEvent& evt )
 {
     ::osl::MutexGuard aGuard(m_aMutex);
-    if ( !m_bInChange )
+    if ( m_bInChange )
+        return;
+
+    m_bInChange = true;
+    try
     {
-        m_bInChange = true;
-        try
+        bool bDest = (evt.Source == m_xDest);
+        Reference<XPropertySet> xProp =  bDest ? m_xSource : m_xDest;
+        Reference<XPropertySetInfo> xPropInfo = bDest ? m_xSourceInfo : m_xDestInfo;
+        if ( xProp.is() && xPropInfo.is() )
         {
-            bool bDest = (evt.Source == m_xDest);
-            Reference<XPropertySet> xProp =  bDest ? m_xSource : m_xDest;
-            Reference<XPropertySetInfo> xPropInfo = bDest ? m_xSourceInfo : m_xDestInfo;
-            if ( xProp.is() && xPropInfo.is() )
+            if ( xPropInfo->hasPropertyByName(evt.PropertyName) )
+                xProp->setPropertyValue(evt.PropertyName,evt.NewValue);
+            else
             {
-                if ( xPropInfo->hasPropertyByName(evt.PropertyName) )
-                    xProp->setPropertyValue(evt.PropertyName,evt.NewValue);
+                TPropertyNamePair::const_iterator aFind = m_aNameMap.find(evt.PropertyName);
+                OUString sPropName;
+                if ( aFind != m_aNameMap.end() )
+                    sPropName = aFind->second.first;
                 else
                 {
-                    TPropertyNamePair::const_iterator aFind = m_aNameMap.find(evt.PropertyName);
-                    OUString sPropName;
+                    aFind = ::std::find_if(
+                        m_aNameMap.begin(),
+                        m_aNameMap.end(),
+                        [&evt] (const TPropertyNamePair::value_type& namePair) {
+                            return namePair.second.first == evt.PropertyName;
+                        });
                     if ( aFind != m_aNameMap.end() )
-                        sPropName = aFind->second.first;
-                    else
-                    {
-                        aFind = ::std::find_if(
-                            m_aNameMap.begin(),
-                            m_aNameMap.end(),
-                            [&evt] (const TPropertyNamePair::value_type& namePair) {
-                                return namePair.second.first == evt.PropertyName;
-                            });
-                        if ( aFind != m_aNameMap.end() )
-                            sPropName = aFind->first;
-                    }
-                    if (aFind != m_aNameMap.end() && !sPropName.isEmpty() && xPropInfo->hasPropertyByName(sPropName))
-                        xProp->setPropertyValue(sPropName,aFind->second.second->operator()(sPropName,evt.NewValue));
-                    else if (   evt.PropertyName == PROPERTY_CHARFONTNAME
-                            ||  evt.PropertyName == PROPERTY_CHARFONTSTYLENAME
-                            ||  evt.PropertyName == PROPERTY_CHARSTRIKEOUT
-                            ||  evt.PropertyName == PROPERTY_CHARWORDMODE
-                            ||  evt.PropertyName == PROPERTY_CHARROTATION
-                            ||  evt.PropertyName == PROPERTY_CHARSCALEWIDTH
-                            ||  evt.PropertyName == PROPERTY_CHARFONTFAMILY
-                            ||  evt.PropertyName == PROPERTY_CHARFONTCHARSET
-                            ||  evt.PropertyName == PROPERTY_CHARFONTPITCH
-                            ||  evt.PropertyName == PROPERTY_CHARHEIGHT
-                            ||  evt.PropertyName == PROPERTY_CHARUNDERLINE
-                            ||  evt.PropertyName == PROPERTY_CHARWEIGHT
-                            ||  evt.PropertyName == PROPERTY_CHARPOSTURE)
-                    {
-                        xProp->setPropertyValue(PROPERTY_FONTDESCRIPTOR,m_xSource->getPropertyValue(PROPERTY_FONTDESCRIPTOR));
-                    }
+                        sPropName = aFind->first;
+                }
+                if (aFind != m_aNameMap.end() && !sPropName.isEmpty() && xPropInfo->hasPropertyByName(sPropName))
+                    xProp->setPropertyValue(sPropName,aFind->second.second->operator()(sPropName,evt.NewValue));
+                else if (   evt.PropertyName == PROPERTY_CHARFONTNAME
+                        ||  evt.PropertyName == PROPERTY_CHARFONTSTYLENAME
+                        ||  evt.PropertyName == PROPERTY_CHARSTRIKEOUT
+                        ||  evt.PropertyName == PROPERTY_CHARWORDMODE
+                        ||  evt.PropertyName == PROPERTY_CHARROTATION
+                        ||  evt.PropertyName == PROPERTY_CHARSCALEWIDTH
+                        ||  evt.PropertyName == PROPERTY_CHARFONTFAMILY
+                        ||  evt.PropertyName == PROPERTY_CHARFONTCHARSET
+                        ||  evt.PropertyName == PROPERTY_CHARFONTPITCH
+                        ||  evt.PropertyName == PROPERTY_CHARHEIGHT
+                        ||  evt.PropertyName == PROPERTY_CHARUNDERLINE
+                        ||  evt.PropertyName == PROPERTY_CHARWEIGHT
+                        ||  evt.PropertyName == PROPERTY_CHARPOSTURE)
+                {
+                    xProp->setPropertyValue(PROPERTY_FONTDESCRIPTOR,m_xSource->getPropertyValue(PROPERTY_FONTDESCRIPTOR));
                 }
             }
         }
-        catch(Exception&)
-        {
-            OSL_FAIL("Exception caught!");
-        }
-        m_bInChange = false;
     }
+    catch(Exception&)
+    {
+        OSL_FAIL("Exception caught!");
+    }
+    m_bInChange = false;
 }
 
 void SAL_CALL OPropertyMediator::disposing( const css::lang::EventObject& /*_rSource*/ )
diff --git a/reportdesign/source/core/sdr/RptObject.cxx b/reportdesign/source/core/sdr/RptObject.cxx
index ab478828dd7d..157ed10b7ca6 100644
--- a/reportdesign/source/core/sdr/RptObject.cxx
+++ b/reportdesign/source/core/sdr/RptObject.cxx
@@ -779,113 +779,113 @@ OUString OUnoObject::GetDefaultName(const OUnoObject* _pObj)
 void OUnoObject::_propertyChange( const  beans::PropertyChangeEvent& evt )
 {
     OObjectBase::_propertyChange(evt);
-    if (isListening())
+    if (!isListening())
+        return;
+
+    if ( evt.PropertyName == PROPERTY_CHARCOLOR )
     {
-        if ( evt.PropertyName == PROPERTY_CHARCOLOR )
+        Reference<XPropertySet> xControlModel(GetUnoControlModel(),uno::UNO_QUERY);
+        if ( xControlModel.is() )
         {
-            Reference<XPropertySet> xControlModel(GetUnoControlModel(),uno::UNO_QUERY);
-            if ( xControlModel.is() )
+            OObjectBase::EndListening();
+            try
             {
+                xControlModel->setPropertyValue(PROPERTY_TEXTCOLOR,evt.NewValue);
+            }
+            catch(uno::Exception&)
+            {
+            }
+            OObjectBase::StartListening();
+        }
+    }
+    else if ( evt.PropertyName == PROPERTY_NAME )
+    {
+        Reference<XPropertySet> xControlModel(GetUnoControlModel(),uno::UNO_QUERY);
+        if ( xControlModel.is() && xControlModel->getPropertySetInfo()->hasPropertyByName(PROPERTY_NAME) )
+        {
+            // get old name
+            OUString aOldName;
+            evt.OldValue >>= aOldName;
+
+            // get new name
+            OUString aNewName;
+            evt.NewValue >>= aNewName;
+
+            if ( aNewName != aOldName )
+            {
+                // set old name property
                 OObjectBase::EndListening();
+                if ( m_xMediator.is() )
+                    m_xMediator->stopListening();
                 try
                 {
-                    xControlModel->setPropertyValue(PROPERTY_TEXTCOLOR,evt.NewValue);
+                    xControlModel->setPropertyValue( PROPERTY_NAME, evt.NewValue );
                 }
                 catch(uno::Exception&)
                 {
                 }
+                if ( m_xMediator.is() )
+                    m_xMediator->startListening();
                 OObjectBase::StartListening();
             }
         }
-        else if ( evt.PropertyName == PROPERTY_NAME )
-        {
-            Reference<XPropertySet> xControlModel(GetUnoControlModel(),uno::UNO_QUERY);
-            if ( xControlModel.is() && xControlModel->getPropertySetInfo()->hasPropertyByName(PROPERTY_NAME) )
-            {
-                // get old name
-                OUString aOldName;
-                evt.OldValue >>= aOldName;
-
-                // get new name
-                OUString aNewName;
-                evt.NewValue >>= aNewName;
-
-                if ( aNewName != aOldName )
-                {
-                    // set old name property
-                    OObjectBase::EndListening();
-                    if ( m_xMediator.is() )
-                        m_xMediator->stopListening();
-                    try
-                    {
-                        xControlModel->setPropertyValue( PROPERTY_NAME, evt.NewValue );
-                    }
-                    catch(uno::Exception&)
-                    {
-                    }
-                    if ( m_xMediator.is() )
-                        m_xMediator->startListening();
-                    OObjectBase::StartListening();
-                }
-            }
-        }
     }
 }
 
 void OUnoObject::CreateMediator(bool _bReverse)
 {
-    if ( !m_xMediator.is() )
+    if ( m_xMediator.is() )
+        return;
+
+    // tdf#118730 Directly do things formerly done in
+    // OUnoObject::impl_setReportComponent_nothrow here
+    if(!m_xReportComponent.is())
     {
-        // tdf#118730 Directly do things formerly done in
-        // OUnoObject::impl_setReportComponent_nothrow here
-        if(!m_xReportComponent.is())
-        {
-            OReportModel& rRptModel(static_cast< OReportModel& >(getSdrModelFromSdrObject()));
-            OXUndoEnvironment::OUndoEnvLock aLock( rRptModel.GetUndoEnv() );
-            m_xReportComponent.set(getUnoShape(),uno::UNO_QUERY);
+        OReportModel& rRptModel(static_cast< OReportModel& >(getSdrModelFromSdrObject()));
+        OXUndoEnvironment::OUndoEnvLock aLock( rRptModel.GetUndoEnv() );
+        m_xReportComponent.set(getUnoShape(),uno::UNO_QUERY);
 
-            impl_initializeModel_nothrow();
-        }
+        impl_initializeModel_nothrow();
+    }
 
-        if(m_xReportComponent.is() && m_bSetDefaultLabel)
-        {
-            // tdf#118730 Directly do things formerly done in
-            // OUnoObject::EndCreate here
-            // tdf#119067 ...but *only* if result of interactive
-            // creation in Report DesignView
-            m_bSetDefaultLabel = false;
+    if(m_xReportComponent.is() && m_bSetDefaultLabel)
+    {
+        // tdf#118730 Directly do things formerly done in
+        // OUnoObject::EndCreate here
+        // tdf#119067 ...but *only* if result of interactive
+        // creation in Report DesignView
+        m_bSetDefaultLabel = false;
 
-            try
-            {
-                if ( supportsService( SERVICE_FIXEDTEXT ) )
-                {
-                    m_xReportComponent->setPropertyValue(
-                        PROPERTY_LABEL,
-                        uno::makeAny(GetDefaultName(this)));
-                }
-            }
-            catch(const uno::Exception&)
+        try
+        {
+            if ( supportsService( SERVICE_FIXEDTEXT ) )
             {
-                DBG_UNHANDLED_EXCEPTION("reportdesign");
+                m_xReportComponent->setPropertyValue(
+                    PROPERTY_LABEL,
+                    uno::makeAny(GetDefaultName(this)));
             }
         }
-
-        if(!m_xMediator.is() && m_xReportComponent.is())
+        catch(const uno::Exception&)
         {
-            Reference<XPropertySet> xControlModel(GetUnoControlModel(),uno::UNO_QUERY);
-
-            if(xControlModel.is())
-            {
-                m_xMediator = new OPropertyMediator(
-                    m_xReportComponent.get(),
-                    xControlModel,
-                    getPropertyNameMap(GetObjIdentifier()),
-                    _bReverse);
-            }
+            DBG_UNHANDLED_EXCEPTION("reportdesign");
         }
+    }
 
-        OObjectBase::StartListening();
+    if(!m_xMediator.is() && m_xReportComponent.is())
+    {
+        Reference<XPropertySet> xControlModel(GetUnoControlModel(),uno::UNO_QUERY);
+
+        if(xControlModel.is())
+        {
+            m_xMediator = new OPropertyMediator(
+                m_xReportComponent.get(),
+                xControlModel,
+                getPropertyNameMap(GetObjIdentifier()),
+                _bReverse);
+        }
     }
+
+    OObjectBase::StartListening();
 }
 
 uno::Reference< beans::XPropertySet> OUnoObject::getAwtComponent()
@@ -1160,21 +1160,21 @@ void OOle2Obj::impl_createDataProvider_nothrow(const uno::Reference< frame::XMod
 
 void OOle2Obj::initializeOle()
 {
-    if ( m_bOnlyOnce )
-    {
-        m_bOnlyOnce = false;
-        uno::Reference < embed::XEmbeddedObject > xObj = GetObjRef();
-        OReportModel& rRptModel(static_cast< OReportModel& >(getSdrModelFromSdrObject()));
-        rRptModel.GetUndoEnv().AddElement(lcl_getDataProvider(xObj));
+    if ( !m_bOnlyOnce )
+        return;
 
-        uno::Reference< embed::XComponentSupplier > xCompSupp( xObj, uno::UNO_QUERY );
-        if( xCompSupp.is() )
-        {
-            uno::Reference< beans::XPropertySet > xChartProps( xCompSupp->getComponent(), uno::UNO_QUERY );
-            if ( xChartProps.is() )
-                xChartProps->setPropertyValue("NullDate",
-                    uno::makeAny(util::DateTime(0,0,0,0,30,12,1899,false)));
-        }
+    m_bOnlyOnce = false;
+    uno::Reference < embed::XEmbeddedObject > xObj = GetObjRef();
+    OReportModel& rRptModel(static_cast< OReportModel& >(getSdrModelFromSdrObject()));
+    rRptModel.GetUndoEnv().AddElement(lcl_getDataProvider(xObj));
+
+    uno::Reference< embed::XComponentSupplier > xCompSupp( xObj, uno::UNO_QUERY );
+    if( xCompSupp.is() )
+    {
+        uno::Reference< beans::XPropertySet > xChartProps( xCompSupp->getComponent(), uno::UNO_QUERY );
+        if ( xChartProps.is() )
+            xChartProps->setPropertyValue("NullDate",
+                uno::makeAny(util::DateTime(0,0,0,0,30,12,1899,false)));
     }
 }
 
@@ -1186,29 +1186,29 @@ void OOle2Obj::initializeChart( const uno::Reference< frame::XModel>& _xModel)
     if( xCompSupp.is())
         xReceiver.set( xCompSupp->getComponent(), uno::UNO_QUERY );
     OSL_ASSERT( xReceiver.is());
-    if( xReceiver.is() )
-    {
-        // lock the model to suppress any internal updates
-        uno::Reference< frame::XModel > xChartModel( xReceiver, uno::UNO_QUERY );
-        if( xChartModel.is() )
-            xChartModel->lockControllers();
+    if( !xReceiver.is() )
+        return;
 
-        if ( !lcl_getDataProvider(xObj).is() )
-            impl_createDataProvider_nothrow(_xModel);
+    // lock the model to suppress any internal updates
+    uno::Reference< frame::XModel > xChartModel( xReceiver, uno::UNO_QUERY );
+    if( xChartModel.is() )
+        xChartModel->lockControllers();
 
-        OReportModel& rRptModel(static_cast< OReportModel& >(getSdrModelFromSdrObject()));
-        rRptModel.GetUndoEnv().AddElement(lcl_getDataProvider(xObj));
+    if ( !lcl_getDataProvider(xObj).is() )
+        impl_createDataProvider_nothrow(_xModel);
+
+    OReportModel& rRptModel(static_cast< OReportModel& >(getSdrModelFromSdrObject()));
+    rRptModel.GetUndoEnv().AddElement(lcl_getDataProvider(xObj));
 
-        ::comphelper::NamedValueCollection aArgs;
-        aArgs.put( "CellRangeRepresentation", uno::makeAny( OUString( "all" ) ) );
-        aArgs.put( "HasCategories", uno::makeAny( true ) );
-        aArgs.put( "FirstCellAsLabel", uno::makeAny( true ) );
-        aArgs.put( "DataRowSource", uno::makeAny( chart::ChartDataRowSource_COLUMNS ) );
-        xReceiver->setArguments( aArgs.getPropertyValues() );
+    ::comphelper::NamedValueCollection aArgs;
+    aArgs.put( "CellRangeRepresentation", uno::makeAny( OUString( "all" ) ) );
+    aArgs.put( "HasCategories", uno::makeAny( true ) );
+    aArgs.put( "FirstCellAsLabel", uno::makeAny( true ) );
+    aArgs.put( "DataRowSource", uno::makeAny( chart::ChartDataRowSource_COLUMNS ) );
+    xReceiver->setArguments( aArgs.getPropertyValues() );
 
-        if( xChartModel.is() )
-            xChartModel->unlockControllers();
-    }
+    if( xChartModel.is() )
+        xChartModel->unlockControllers();
 }
 
 uno::Reference< style::XStyle> getUsedStyle(const uno::Reference< report::XReportDefinition>& _xReport)
diff --git a/reportdesign/source/core/sdr/UndoActions.cxx b/reportdesign/source/core/sdr/UndoActions.cxx
index 836e8ed0a3d1..edca93c9e507 100644
--- a/reportdesign/source/core/sdr/UndoActions.cxx
+++ b/reportdesign/source/core/sdr/UndoActions.cxx
@@ -119,31 +119,31 @@ OUndoContainerAction::~OUndoContainerAction()
 {
     // if we own the object...
     Reference< XComponent > xComp( m_xOwnElement, UNO_QUERY );
-    if ( xComp.is() )
-    {
-        // and the object does not have a parent
-        Reference< XChild >  xChild( m_xOwnElement, UNO_QUERY );
-        if ( xChild.is() && !xChild->getParent().is() )
-        {
-            OXUndoEnvironment& rEnv = static_cast< OReportModel& >( rMod ).GetUndoEnv();
-            rEnv.RemoveElement( m_xOwnElement );
+    if ( !xComp.is() )
+        return;
+
+    // and the object does not have a parent
+    Reference< XChild >  xChild( m_xOwnElement, UNO_QUERY );
+    if ( !(xChild.is() && !xChild->getParent().is()) )
+        return;
+
+    OXUndoEnvironment& rEnv = static_cast< OReportModel& >( rMod ).GetUndoEnv();
+    rEnv.RemoveElement( m_xOwnElement );
 
 #if OSL_DEBUG_LEVEL > 0
-            SvxShape* pShape = comphelper::getUnoTunnelImplementation<SvxShape>( xChild );
-            SdrObject* pObject = pShape ? pShape->GetSdrObject() : nullptr;
-            OSL_ENSURE( pObject == nullptr || (pShape->HasSdrObjectOwnership() && !pObject->IsInserted()),
-                "OUndoContainerAction::~OUndoContainerAction: inconsistency in the shape/object ownership!" );
+    SvxShape* pShape = comphelper::getUnoTunnelImplementation<SvxShape>( xChild );
+    SdrObject* pObject = pShape ? pShape->GetSdrObject() : nullptr;
+    OSL_ENSURE( pObject == nullptr || (pShape->HasSdrObjectOwnership() && !pObject->IsInserted()),
+        "OUndoContainerAction::~OUndoContainerAction: inconsistency in the shape/object ownership!" );
 #endif
-            // -> dispose it
-            try
-            {
-                comphelper::disposeComponent( xComp );
-            }
-            catch ( const uno::Exception& )
-            {
-                DBG_UNHANDLED_EXCEPTION("reportdesign");
-            }
-        }
+    // -> dispose it
+    try
+    {
+        comphelper::disposeComponent( xComp );
+    }
+    catch ( const uno::Exception& )
+    {
+        DBG_UNHANDLED_EXCEPTION("reportdesign");
     }
 }
 
@@ -187,58 +187,58 @@ void OUndoContainerAction::implReRemove( )
 
 void OUndoContainerAction::Undo()
 {
-    if ( m_xElement.is() )
+    if ( !m_xElement.is() )
+        return;
+
+    // prevents that an undo action will be created for elementInserted
+    try
     {
-        // prevents that an undo action will be created for elementInserted
-        try
+        switch ( m_eAction )
         {
-            switch ( m_eAction )
-            {
-            case Inserted:
-                implReRemove();
-                break;
-
-            case Removed:
-                implReInsert();
-                break;
-            default:
-                OSL_FAIL("Illegal case value");
-                break;
-            }
-        }
-        catch( const Exception& )
-        {
-            TOOLS_WARN_EXCEPTION( "reportdesign", "OUndoContainerAction::Undo" );
+        case Inserted:
+            implReRemove();
+            break;
+
+        case Removed:
+            implReInsert();
+            break;
+        default:
+            OSL_FAIL("Illegal case value");
+            break;
         }
     }
+    catch( const Exception& )
+    {
+        TOOLS_WARN_EXCEPTION( "reportdesign", "OUndoContainerAction::Undo" );
+    }
 }
 
 
 void OUndoContainerAction::Redo()
 {
-    if ( m_xElement.is() )
+    if ( !m_xElement.is() )
+        return;
+
+    try
     {
-        try
-        {
-            switch ( m_eAction )
-            {
-            case Inserted:
-                implReInsert();
-                break;
-
-            case Removed:
-                implReRemove();
-                break;
-            default:
-                OSL_FAIL("Illegal case value");
-                break;
-            }
-        }
-        catch( const Exception& )
+        switch ( m_eAction )
         {
-            TOOLS_WARN_EXCEPTION( "reportdesign", "OUndoContainerAction::Redo" );
+        case Inserted:
+            implReInsert();
+            break;
+
+        case Removed:
+            implReRemove();
+            break;
+        default:
+            OSL_FAIL("Illegal case value");
+            break;
         }
     }
+    catch( const Exception& )
+    {
+        TOOLS_WARN_EXCEPTION( "reportdesign", "OUndoContainerAction::Redo" );
+    }
 }
 
 OUndoGroupSectionAction::OUndoGroupSectionAction(
diff --git a/reportdesign/source/filter/xml/xmlAutoStyle.cxx b/reportdesign/source/filter/xml/xmlAutoStyle.cxx
index 0c4ad550a3f4..0e2fbb5a4f78 100644
--- a/reportdesign/source/filter/xml/xmlAutoStyle.cxx
+++ b/reportdesign/source/filter/xml/xmlAutoStyle.cxx
@@ -36,32 +36,32 @@ void OXMLAutoStylePoolP::exportStyleAttributes(
             ) const
 {
     SvXMLAutoStylePoolP::exportStyleAttributes( rAttrList, nFamily, rProperties, rPropExp, rUnitConverter, rNamespaceMap );
-    if ( nFamily == XmlStyleFamily::TABLE_CELL )
+    if ( nFamily != XmlStyleFamily::TABLE_CELL )
+        return;
+
+    rtl::Reference< XMLPropertySetMapper > aPropMapper = rORptExport.GetCellStylePropertyMapper();
+    for (const auto& rProp : rProperties)
     {
-        rtl::Reference< XMLPropertySetMapper > aPropMapper = rORptExport.GetCellStylePropertyMapper();
-        for (const auto& rProp : rProperties)
+        sal_Int16 nContextID = aPropMapper->GetEntryContextId(rProp.mnIndex);
+        switch (nContextID)
         {
-            sal_Int16 nContextID = aPropMapper->GetEntryContextId(rProp.mnIndex);
-            switch (nContextID)
+            case CTF_RPT_NUMBERFORMAT :
             {
-                case CTF_RPT_NUMBERFORMAT :
+                OUString sAttrValue;
+                if ( rProp.maValue >>= sAttrValue )
                 {
-                    OUString sAttrValue;
-                    if ( rProp.maValue >>= sAttrValue )
+                    if ( !sAttrValue.isEmpty() )
                     {
-                        if ( !sAttrValue.isEmpty() )
-                        {
-                            rORptExport.AddAttribute(
-                                aPropMapper->GetEntryNameSpace(rProp.mnIndex),
-                                aPropMapper->GetEntryXMLName(rProp.mnIndex),
-                                sAttrValue );
-                        }
+                        rORptExport.AddAttribute(
+                            aPropMapper->GetEntryNameSpace(rProp.mnIndex),
+                            aPropMapper->GetEntryXMLName(rProp.mnIndex),
+                            sAttrValue );
                     }
-                    break;
                 }
-                default:
-                    break;
+                break;
             }
+            default:
+                break;
         }
     }
 }
diff --git a/reportdesign/source/filter/xml/xmlColumn.cxx b/reportdesign/source/filter/xml/xmlColumn.cxx
index 92bf2e01da1e..753dfbe1b35c 100644
--- a/reportdesign/source/filter/xml/xmlColumn.cxx
+++ b/reportdesign/source/filter/xml/xmlColumn.cxx
@@ -112,50 +112,50 @@ css::uno::Reference< css::xml::sax::XFastContextHandler > OXMLRowColumn::createF
 
 void OXMLRowColumn::fillStyle(const OUString& _sStyleName)
 {
-    if ( !_sStyleName.isEmpty() )
+    if ( _sStyleName.isEmpty() )
+        return;
+
+    const SvXMLStylesContext* pAutoStyles = GetOwnImport().GetAutoStyles();
+    if ( !pAutoStyles )
+        return;
+
+    PropertySetInfo* pInfo = new PropertySetInfo();
+    static PropertyMapEntry const pMap[] =
+    {
+        {OUString(PROPERTY_WIDTH),    PROPERTY_ID_WIDTH,        ::cppu::UnoType<sal_Int32>::get()       ,PropertyAttribute::BOUND,0},
+        {OUString(PROPERTY_HEIGHT),   PROPERTY_ID_HEIGHT,       ::cppu::UnoType<sal_Int32>::get()       ,PropertyAttribute::BOUND,0 },
+        {OUString(PROPERTY_MINHEIGHT), PROPERTY_ID_MINHEIGHT,    ::cppu::UnoType<sal_Int32>::get()       ,PropertyAttribute::BOUND,0 },
+        {OUString(), 0, css::uno::Type(), 0, 0 }
+    };
+    pInfo->add(pMap);
+    Reference<XPropertySet> xProp = GenericPropertySet_CreateInstance(pInfo);
+    XMLPropStyleContext* pAutoStyle = const_cast<XMLPropStyleContext*>(dynamic_cast< const XMLPropStyleContext*>(pAutoStyles->FindStyleChildContext(XmlStyleFamily::TABLE_COLUMN,_sStyleName)));
+    if ( pAutoStyle )
     {
-        const SvXMLStylesContext* pAutoStyles = GetOwnImport().GetAutoStyles();
-        if ( pAutoStyles )
+        pAutoStyle->FillPropertySet(xProp);
+        sal_Int32 nWidth = 0;
+        xProp->getPropertyValue(PROPERTY_WIDTH) >>= nWidth;
+        m_pContainer->addWidth(nWidth);
+    }
+    else
+    {
+        pAutoStyle = const_cast<XMLPropStyleContext*>(dynamic_cast< const XMLPropStyleContext* >(pAutoStyles->FindStyleChildContext(XmlStyleFamily::TABLE_ROW,_sStyleName)));
+        if ( pAutoStyle )
         {
-            PropertySetInfo* pInfo = new PropertySetInfo();
-            static PropertyMapEntry const pMap[] =
-            {
-                {OUString(PROPERTY_WIDTH),    PROPERTY_ID_WIDTH,        ::cppu::UnoType<sal_Int32>::get()       ,PropertyAttribute::BOUND,0},
-                {OUString(PROPERTY_HEIGHT),   PROPERTY_ID_HEIGHT,       ::cppu::UnoType<sal_Int32>::get()       ,PropertyAttribute::BOUND,0 },
-                {OUString(PROPERTY_MINHEIGHT), PROPERTY_ID_MINHEIGHT,    ::cppu::UnoType<sal_Int32>::get()       ,PropertyAttribute::BOUND,0 },
-                {OUString(), 0, css::uno::Type(), 0, 0 }
-            };
-            pInfo->add(pMap);
-            Reference<XPropertySet> xProp = GenericPropertySet_CreateInstance(pInfo);
-            XMLPropStyleContext* pAutoStyle = const_cast<XMLPropStyleContext*>(dynamic_cast< const XMLPropStyleContext*>(pAutoStyles->FindStyleChildContext(XmlStyleFamily::TABLE_COLUMN,_sStyleName)));
-            if ( pAutoStyle )
+            pAutoStyle->FillPropertySet(xProp);
+            sal_Int32 nHeight = 0;
+            sal_Int32 nMinHeight = 0;
+            xProp->getPropertyValue(PROPERTY_HEIGHT) >>= nHeight;
+            xProp->getPropertyValue(PROPERTY_MINHEIGHT) >>= nMinHeight;
+            if (nHeight == 0 && nMinHeight > 0)
             {
-                pAutoStyle->FillPropertySet(xProp);
-                sal_Int32 nWidth = 0;
-                xProp->getPropertyValue(PROPERTY_WIDTH) >>= nWidth;
-                m_pContainer->addWidth(nWidth);
+                m_pContainer->addHeight(nMinHeight);
+                m_pContainer->addAutoHeight(true);
             }
             else
             {
-                pAutoStyle = const_cast<XMLPropStyleContext*>(dynamic_cast< const XMLPropStyleContext* >(pAutoStyles->FindStyleChildContext(XmlStyleFamily::TABLE_ROW,_sStyleName)));
-                if ( pAutoStyle )
-                {
-                    pAutoStyle->FillPropertySet(xProp);
-                    sal_Int32 nHeight = 0;
-                    sal_Int32 nMinHeight = 0;
-                    xProp->getPropertyValue(PROPERTY_HEIGHT) >>= nHeight;
-                    xProp->getPropertyValue(PROPERTY_MINHEIGHT) >>= nMinHeight;
-                    if (nHeight == 0 && nMinHeight > 0)
-                    {
-                        m_pContainer->addHeight(nMinHeight);
-                        m_pContainer->addAutoHeight(true);
-                    }
-                    else
-                    {
-                        m_pContainer->addHeight(nHeight);
-                        m_pContainer->addAutoHeight(false);
-                    }
-                }
+                m_pContainer->addHeight(nHeight);
+                m_pContainer->addAutoHeight(false);
             }
         }
     }
diff --git a/reportdesign/source/filter/xml/xmlControlProperty.cxx b/reportdesign/source/filter/xml/xmlControlProperty.cxx
index cf91373a369f..b4d6175f400e 100644
--- a/reportdesign/source/filter/xml/xmlControlProperty.cxx
+++ b/reportdesign/source/filter/xml/xmlControlProperty.cxx
@@ -140,18 +140,18 @@ void OXMLControlProperty::endFastElement(sal_Int32 )
 {
     if ( m_pContainer )
         m_pContainer->addValue(m_aCharBuffer.makeStringAndClear());
-    if ( !m_aSetting.Name.isEmpty() && m_xControl.is() )
+    if ( !(!m_aSetting.Name.isEmpty() && m_xControl.is()) )
+        return;
+
+    if ( m_bIsList && !m_aSequence.hasElements() )
+        m_aSetting.Value <<= m_aSequence;
+    try
     {
-        if ( m_bIsList && !m_aSequence.hasElements() )
-            m_aSetting.Value <<= m_aSequence;
-        try
-        {
-            m_xControl->setPropertyValue(m_aSetting.Name,m_aSetting.Value);
-        }
-        catch(const Exception&)
-        {
-            OSL_FAIL("Unknown property found!");
-        }
+        m_xControl->setPropertyValue(m_aSetting.Name,m_aSetting.Value);
+    }
+    catch(const Exception&)
+    {
+        OSL_FAIL("Unknown property found!");
     }
 }
 
diff --git a/reportdesign/source/filter/xml/xmlExport.cxx b/reportdesign/source/filter/xml/xmlExport.cxx
index a980e05d90ac..5db11193c8e9 100644
--- a/reportdesign/source/filter/xml/xmlExport.cxx
+++ b/reportdesign/source/filter/xml/xmlExport.cxx
@@ -350,66 +350,66 @@ void ORptExport::exportFunction(const uno::Reference< XFunction>& _xFunction)
 void ORptExport::exportMasterDetailFields(const Reference<XReportComponent>& _xReportComponet)
 {
     const uno::Sequence< OUString> aMasterFields = _xReportComponet->getMasterFields();
-    if ( aMasterFields.hasElements() )
-    {
-        SvXMLElementExport aElement(*this,XML_NAMESPACE_REPORT, XML_MASTER_DETAIL_FIELDS, true, true);
-        const uno::Sequence< OUString> aDetailFields = _xReportComponet->getDetailFields();
+    if ( !aMasterFields.hasElements() )
+        return;
 
-        OSL_ENSURE(aDetailFields.getLength() == aMasterFields.getLength(),"not equal length for master and detail fields!");
+    SvXMLElementExport aElement(*this,XML_NAMESPACE_REPORT, XML_MASTER_DETAIL_FIELDS, true, true);
+    const uno::Sequence< OUString> aDetailFields = _xReportComponet->getDetailFields();
 
-        const OUString* pDetailFieldsIter = aDetailFields.getConstArray();
-        for(const OUString& rMasterField : aMasterFields)
-        {
-            AddAttribute( XML_NAMESPACE_REPORT, XML_MASTER , rMasterField );
-            if ( !pDetailFieldsIter->isEmpty() )
-                AddAttribute( XML_NAMESPACE_REPORT, XML_DETAIL , *pDetailFieldsIter );
-            SvXMLElementExport aPair(*this,XML_NAMESPACE_REPORT, XML_MASTER_DETAIL_FIELD, true, true);
-            ++pDetailFieldsIter;
-        }
+    OSL_ENSURE(aDetailFields.getLength() == aMasterFields.getLength(),"not equal length for master and detail fields!");
+
+    const OUString* pDetailFieldsIter = aDetailFields.getConstArray();
+    for(const OUString& rMasterField : aMasterFields)
+    {
+        AddAttribute( XML_NAMESPACE_REPORT, XML_MASTER , rMasterField );
+        if ( !pDetailFieldsIter->isEmpty() )
+            AddAttribute( XML_NAMESPACE_REPORT, XML_DETAIL , *pDetailFieldsIter );
+        SvXMLElementExport aPair(*this,XML_NAMESPACE_REPORT, XML_MASTER_DETAIL_FIELD, true, true);
+        ++pDetailFieldsIter;
     }
 }
 
 void ORptExport::exportReport(const Reference<XReportDefinition>& _xReportDefinition)
 {
-    if ( _xReportDefinition.is() )
-    {
-        exportFunctions(_xReportDefinition->getFunctions().get());
-        exportGroupsExpressionAsFunction(_xReportDefinition->getGroups());
+    if ( !_xReportDefinition.is() )
+        return;
 
-        if ( _xReportDefinition->getReportHeaderOn() )
-        {
-            SvXMLElementExport aGroupSection(*this,XML_NAMESPACE_REPORT, XML_REPORT_HEADER, true, true);
-            exportSection(_xReportDefinition->getReportHeader());
-        }
-        if ( _xReportDefinition->getPageHeaderOn() )
-        {
-            OUStringBuffer sValue;
-            sal_Int16 nRet = _xReportDefinition->getPageHeaderOption();
-            const SvXMLEnumMapEntry<sal_Int16>* aXML_EnumMap = OXMLHelper::GetReportPrintOptions();
-            if ( SvXMLUnitConverter::convertEnum( sValue, nRet,aXML_EnumMap ) )
-                AddAttribute(XML_NAMESPACE_REPORT, XML_PAGE_PRINT_OPTION,sValue.makeStringAndClear());
+    exportFunctions(_xReportDefinition->getFunctions().get());
+    exportGroupsExpressionAsFunction(_xReportDefinition->getGroups());
 
-            SvXMLElementExport aGroupSection(*this,XML_NAMESPACE_REPORT, XML_PAGE_HEADER, true, true);
-            exportSection(_xReportDefinition->getPageHeader(),true);
-        }
+    if ( _xReportDefinition->getReportHeaderOn() )
+    {
+        SvXMLElementExport aGroupSection(*this,XML_NAMESPACE_REPORT, XML_REPORT_HEADER, true, true);
+        exportSection(_xReportDefinition->getReportHeader());
+    }
+    if ( _xReportDefinition->getPageHeaderOn() )
+    {
+        OUStringBuffer sValue;
+        sal_Int16 nRet = _xReportDefinition->getPageHeaderOption();
+        const SvXMLEnumMapEntry<sal_Int16>* aXML_EnumMap = OXMLHelper::GetReportPrintOptions();
+        if ( SvXMLUnitConverter::convertEnum( sValue, nRet,aXML_EnumMap ) )
+            AddAttribute(XML_NAMESPACE_REPORT, XML_PAGE_PRINT_OPTION,sValue.makeStringAndClear());
 
-        exportGroup(_xReportDefinition,0);
+        SvXMLElementExport aGroupSection(*this,XML_NAMESPACE_REPORT, XML_PAGE_HEADER, true, true);
+        exportSection(_xReportDefinition->getPageHeader(),true);
+    }
 
-        if ( _xReportDefinition->getPageFooterOn() )
-        {
-            OUStringBuffer sValue;
-            sal_Int16 nRet = _xReportDefinition->getPageFooterOption();
-            const SvXMLEnumMapEntry<sal_Int16>* aXML_EnumMap = OXMLHelper::GetReportPrintOptions();
-            if ( SvXMLUnitConverter::convertEnum( sValue, nRet,aXML_EnumMap ) )
-                AddAttribute(XML_NAMESPACE_REPORT, XML_PAGE_PRINT_OPTION,sValue.makeStringAndClear());
-            SvXMLElementExport aGroupSection(*this,XML_NAMESPACE_REPORT, XML_PAGE_FOOTER, true, true);
-            exportSection(_xReportDefinition->getPageFooter(),true);
-        }
-        if ( _xReportDefinition->getReportFooterOn() )
-        {
-            SvXMLElementExport aGroupSection(*this,XML_NAMESPACE_REPORT, XML_REPORT_FOOTER, true, true);
-            exportSection(_xReportDefinition->getReportFooter());
-        }
+    exportGroup(_xReportDefinition,0);
+
+    if ( _xReportDefinition->getPageFooterOn() )
+    {
+        OUStringBuffer sValue;
+        sal_Int16 nRet = _xReportDefinition->getPageFooterOption();
+        const SvXMLEnumMapEntry<sal_Int16>* aXML_EnumMap = OXMLHelper::GetReportPrintOptions();
+        if ( SvXMLUnitConverter::convertEnum( sValue, nRet,aXML_EnumMap ) )
+            AddAttribute(XML_NAMESPACE_REPORT, XML_PAGE_PRINT_OPTION,sValue.makeStringAndClear());
+        SvXMLElementExport aGroupSection(*this,XML_NAMESPACE_REPORT, XML_PAGE_FOOTER, true, true);
+        exportSection(_xReportDefinition->getPageFooter(),true);
+    }
+    if ( _xReportDefinition->getReportFooterOn() )
+    {
+        SvXMLElementExport aGroupSection(*this,XML_NAMESPACE_REPORT, XML_REPORT_FOOTER, true, true);
+        exportSection(_xReportDefinition->getReportFooter());
     }
 }
 
@@ -1047,90 +1047,90 @@ void ORptExport::exportStyleName(XPropertySet* _xProp,SvXMLAttributeList& _rAtt,
 
 void ORptExport::exportGroup(const Reference<XReportDefinition>& _xReportDefinition,sal_Int32 _nPos,bool _bExportAutoStyle)
 {
-    if ( _xReportDefinition.is() )
+    if ( !_xReportDefinition.is() )
+        return;
+
+    Reference< XGroups > xGroups = _xReportDefinition->getGroups();
+    if ( !xGroups.is() )
+        return;
+
+    sal_Int32 nCount = xGroups->getCount();
+    if ( _nPos >= 0 && _nPos < nCount )
     {
-        Reference< XGroups > xGroups = _xReportDefinition->getGroups();
-        if ( xGroups.is() )
+        Reference<XGroup> xGroup(xGroups->getByIndex(_nPos),uno::UNO_QUERY);
+        OSL_ENSURE(xGroup.is(),"No Group prepare for GPF");
+        if ( _bExportAutoStyle )
+        {
+            if ( xGroup->getHeaderOn() )
+                exportSectionAutoStyle(xGroup->getHeader());
+            exportGroup(_xReportDefinition,_nPos+1,_bExportAutoStyle);
+            if ( xGroup->getFooterOn() )
+                exportSectionAutoStyle(xGroup->getFooter());
+        }
+        else
         {
-            sal_Int32 nCount = xGroups->getCount();
-            if ( _nPos >= 0 && _nPos < nCount )
+            if ( xGroup->getSortAscending() )
+                AddAttribute(XML_NAMESPACE_REPORT, XML_SORT_ASCENDING, XML_TRUE );
+
+            if ( xGroup->getStartNewColumn() )
+                AddAttribute(XML_NAMESPACE_REPORT, XML_START_NEW_COLUMN, XML_TRUE);
+            if ( xGroup->getResetPageNumber() )
+                AddAttribute(XML_NAMESPACE_REPORT, XML_RESET_PAGE_NUMBER, XML_TRUE );
+
+            const OUString sField = xGroup->getExpression();
+            OUString sExpression  = sField;
+            if ( !sExpression.isEmpty() )
             {
-                Reference<XGroup> xGroup(xGroups->getByIndex(_nPos),uno::UNO_QUERY);
-                OSL_ENSURE(xGroup.is(),"No Group prepare for GPF");
-                if ( _bExportAutoStyle )
+                sal_Int32 nIndex = sExpression.indexOf('"');
+                while ( nIndex > -1 )
                 {
-                    if ( xGroup->getHeaderOn() )
-                        exportSectionAutoStyle(xGroup->getHeader());
-                    exportGroup(_xReportDefinition,_nPos+1,_bExportAutoStyle);
-                    if ( xGroup->getFooterOn() )
-                        exportSectionAutoStyle(xGroup->getFooter());
+                    sExpression = sExpression.replaceAt(nIndex, 1, "\"\"");
+                    nIndex = sExpression.indexOf('"',nIndex+2);
                 }
-                else
-                {
-                    if ( xGroup->getSortAscending() )
-                        AddAttribute(XML_NAMESPACE_REPORT, XML_SORT_ASCENDING, XML_TRUE );
-
-                    if ( xGroup->getStartNewColumn() )
-                        AddAttribute(XML_NAMESPACE_REPORT, XML_START_NEW_COLUMN, XML_TRUE);
-                    if ( xGroup->getResetPageNumber() )
-                        AddAttribute(XML_NAMESPACE_REPORT, XML_RESET_PAGE_NUMBER, XML_TRUE );
 
-                    const OUString sField = xGroup->getExpression();
-                    OUString sExpression  = sField;
-                    if ( !sExpression.isEmpty() )
-                    {
-                        sal_Int32 nIndex = sExpression.indexOf('"');
-                        while ( nIndex > -1 )
-                        {
-                            sExpression = sExpression.replaceAt(nIndex, 1, "\"\"");
-                            nIndex = sExpression.indexOf('"',nIndex+2);
-                        }
-
-                        TGroupFunctionMap::const_iterator aGroupFind = m_aGroupFunctionMap.find(xGroup);
-                        if ( aGroupFind != m_aGroupFunctionMap.end() )
-                            sExpression = aGroupFind->second->getName();
-                        sExpression = "rpt:HASCHANGED(\"" + sExpression + "\")";
-                    }
-                    AddAttribute(XML_NAMESPACE_REPORT, XML_SORT_EXPRESSION, sField);
-                    AddAttribute(XML_NAMESPACE_REPORT, XML_GROUP_EXPRESSION,sExpression);
-                    sal_Int16 nRet = xGroup->getKeepTogether();
-                    OUStringBuffer sValue;
-                    const SvXMLEnumMapEntry<sal_Int16>* aXML_KeepTogetherEnumMap = OXMLHelper::GetKeepTogetherOptions();
-                    if ( SvXMLUnitConverter::convertEnum( sValue, nRet, aXML_KeepTogetherEnumMap ) )
-                        AddAttribute(XML_NAMESPACE_REPORT, XML_KEEP_TOGETHER,sValue.makeStringAndClear());
-
-                    SvXMLElementExport aGroup(*this,XML_NAMESPACE_REPORT, XML_GROUP, true, true);
-                    exportFunctions(xGroup->getFunctions().get());
-                    if ( xGroup->getHeaderOn() )
-                    {
-                        Reference<XSection> xSection = xGroup->getHeader();
-                        if ( xSection->getRepeatSection() )
-                            AddAttribute(XML_NAMESPACE_REPORT, XML_REPEAT_SECTION,XML_TRUE );
-                        SvXMLElementExport aGroupSection(*this,XML_NAMESPACE_REPORT, XML_GROUP_HEADER, true, true);
-                        exportSection(xSection);
-                    }
-                    exportGroup(_xReportDefinition,_nPos+1,_bExportAutoStyle);
-                    if ( xGroup->getFooterOn() )
-                    {
-                        Reference<XSection> xSection = xGroup->getFooter();
-                        if ( xSection->getRepeatSection() )
-                            AddAttribute(XML_NAMESPACE_REPORT, XML_REPEAT_SECTION,XML_TRUE );
-                        SvXMLElementExport aGroupSection(*this,XML_NAMESPACE_REPORT, XML_GROUP_FOOTER, true, true);
-                        exportSection(xSection);
-                    }
-                }
+                TGroupFunctionMap::const_iterator aGroupFind = m_aGroupFunctionMap.find(xGroup);
+                if ( aGroupFind != m_aGroupFunctionMap.end() )
+                    sExpression = aGroupFind->second->getName();
+                sExpression = "rpt:HASCHANGED(\"" + sExpression + "\")";
             }
-            else if ( _bExportAutoStyle )
+            AddAttribute(XML_NAMESPACE_REPORT, XML_SORT_EXPRESSION, sField);
+            AddAttribute(XML_NAMESPACE_REPORT, XML_GROUP_EXPRESSION,sExpression);
+            sal_Int16 nRet = xGroup->getKeepTogether();
+            OUStringBuffer sValue;
+            const SvXMLEnumMapEntry<sal_Int16>* aXML_KeepTogetherEnumMap = OXMLHelper::GetKeepTogetherOptions();
+            if ( SvXMLUnitConverter::convertEnum( sValue, nRet, aXML_KeepTogetherEnumMap ) )
+                AddAttribute(XML_NAMESPACE_REPORT, XML_KEEP_TOGETHER,sValue.makeStringAndClear());
+
+            SvXMLElementExport aGroup(*this,XML_NAMESPACE_REPORT, XML_GROUP, true, true);
+            exportFunctions(xGroup->getFunctions().get());
+            if ( xGroup->getHeaderOn() )
             {
-                exportSectionAutoStyle(_xReportDefinition->getDetail());
+                Reference<XSection> xSection = xGroup->getHeader();
+                if ( xSection->getRepeatSection() )
+                    AddAttribute(XML_NAMESPACE_REPORT, XML_REPEAT_SECTION,XML_TRUE );
+                SvXMLElementExport aGroupSection(*this,XML_NAMESPACE_REPORT, XML_GROUP_HEADER, true, true);
+                exportSection(xSection);
             }
-            else
+            exportGroup(_xReportDefinition,_nPos+1,_bExportAutoStyle);
+            if ( xGroup->getFooterOn() )
             {
-                SvXMLElementExport aGroupSection(*this,XML_NAMESPACE_REPORT, XML_DETAIL, true, true);
-                exportSection(_xReportDefinition->getDetail());
+                Reference<XSection> xSection = xGroup->getFooter();
+                if ( xSection->getRepeatSection() )
+                    AddAttribute(XML_NAMESPACE_REPORT, XML_REPEAT_SECTION,XML_TRUE );
+                SvXMLElementExport aGroupSection(*this,XML_NAMESPACE_REPORT, XML_GROUP_FOOTER, true, true);
+                exportSection(xSection);
             }
         }
     }
+    else if ( _bExportAutoStyle )
+    {
+        exportSectionAutoStyle(_xReportDefinition->getDetail());
+    }
+    else
+    {
+        SvXMLElementExport aGroupSection(*this,XML_NAMESPACE_REPORT, XML_DETAIL, true, true);
+        exportSection(_xReportDefinition->getDetail());
+    }
 }
 
 void ORptExport::exportAutoStyle(XPropertySet* _xProp,const Reference<XFormattedField>& _xParentFormattedField)
@@ -1273,34 +1273,34 @@ void ORptExport::SetBodyAttributes()
 
 void ORptExport::exportReportAttributes(const Reference<XReportDefinition>& _xReport)
 {
-    if ( _xReport.is() )
-    {
-        OUStringBuffer sValue;
-        const SvXMLEnumMapEntry<sal_Int32>* aXML_CommnadTypeEnumMap = OXMLHelper::GetCommandTypeOptions();
-        if ( SvXMLUnitConverter::convertEnum( sValue, _xReport->getCommandType(), aXML_CommnadTypeEnumMap ) )
-            AddAttribute(XML_NAMESPACE_REPORT, XML_COMMAND_TYPE,sValue.makeStringAndClear());
-
-        OUString sComamnd = _xReport->getCommand();
-        if ( !sComamnd.isEmpty() )
-            AddAttribute(XML_NAMESPACE_REPORT, XML_COMMAND, sComamnd);
-
-        OUString sFilter( _xReport->getFilter() );
-        if ( !sFilter.isEmpty() )
-            AddAttribute( XML_NAMESPACE_REPORT, XML_FILTER, sFilter );
-
-        AddAttribute(XML_NAMESPACE_OFFICE, XML_MIMETYPE,_xReport->getMimeType());
-
-        bool bEscapeProcessing( _xReport->getEscapeProcessing() );
-        if ( !bEscapeProcessing )
-            AddAttribute( XML_NAMESPACE_REPORT, XML_ESCAPE_PROCESSING, ::xmloff::token::GetXMLToken( XML_FALSE ) );
-
-        OUString sName = _xReport->getCaption();
-        if ( !sName.isEmpty() )
-            AddAttribute(XML_NAMESPACE_OFFICE, XML_CAPTION,sName);
-        sName = _xReport->getName();
-        if ( !sName.isEmpty() )
-            AddAttribute(XML_NAMESPACE_DRAW, XML_NAME,sName);
-    }
+    if ( !_xReport.is() )
+        return;
+
+    OUStringBuffer sValue;
+    const SvXMLEnumMapEntry<sal_Int32>* aXML_CommnadTypeEnumMap = OXMLHelper::GetCommandTypeOptions();
+    if ( SvXMLUnitConverter::convertEnum( sValue, _xReport->getCommandType(), aXML_CommnadTypeEnumMap ) )
+        AddAttribute(XML_NAMESPACE_REPORT, XML_COMMAND_TYPE,sValue.makeStringAndClear());
+
+    OUString sComamnd = _xReport->getCommand();
+    if ( !sComamnd.isEmpty() )
+        AddAttribute(XML_NAMESPACE_REPORT, XML_COMMAND, sComamnd);
+
+    OUString sFilter( _xReport->getFilter() );
+    if ( !sFilter.isEmpty() )
+        AddAttribute( XML_NAMESPACE_REPORT, XML_FILTER, sFilter );
+
+    AddAttribute(XML_NAMESPACE_OFFICE, XML_MIMETYPE,_xReport->getMimeType());
+
+    bool bEscapeProcessing( _xReport->getEscapeProcessing() );
+    if ( !bEscapeProcessing )
+        AddAttribute( XML_NAMESPACE_REPORT, XML_ESCAPE_PROCESSING, ::xmloff::token::GetXMLToken( XML_FALSE ) );
+
+    OUString sName = _xReport->getCaption();
+    if ( !sName.isEmpty() )
+        AddAttribute(XML_NAMESPACE_OFFICE, XML_CAPTION,sName);
+    sName = _xReport->getName();
+    if ( !sName.isEmpty() )
+        AddAttribute(XML_NAMESPACE_DRAW, XML_NAME,sName);
 }
 
 void ORptExport::ExportContent_()
@@ -1320,24 +1320,24 @@ void ORptExport::collectComponentStyles()
 
     m_bAllreadyFilled = true;
     Reference<XReportDefinition> xProp(getReportDefinition());
-    if ( xProp.is() )
-    {
-        uno::Reference< report::XSection> xParent(xProp->getParent(),uno::UNO_QUERY);
-        if ( xParent.is() )
-            exportAutoStyle(xProp.get());
+    if ( !xProp.is() )
+        return;
 
-        if ( xProp->getReportHeaderOn() )
-            exportSectionAutoStyle(xProp->getReportHeader());
-        if ( xProp->getPageHeaderOn() )
-            exportSectionAutoStyle(xProp->getPageHeader());
+    uno::Reference< report::XSection> xParent(xProp->getParent(),uno::UNO_QUERY);
+    if ( xParent.is() )
+        exportAutoStyle(xProp.get());
 
-        exportGroup(xProp,0,true);
+    if ( xProp->getReportHeaderOn() )
+        exportSectionAutoStyle(xProp->getReportHeader());
+    if ( xProp->getPageHeaderOn() )
+        exportSectionAutoStyle(xProp->getPageHeader());
 
-        if ( xProp->getPageFooterOn() )
-            exportSectionAutoStyle(xProp->getPageFooter());
-        if ( xProp->getReportFooterOn() )
-            exportSectionAutoStyle(xProp->getReportFooter());
-    }
+    exportGroup(xProp,0,true);
+
+    if ( xProp->getPageFooterOn() )
+        exportSectionAutoStyle(xProp->getPageFooter());
+    if ( xProp->getReportFooterOn() )
+        exportSectionAutoStyle(xProp->getReportFooter());
 }
 
 void ORptExport::ExportAutoStyles_()
@@ -1480,93 +1480,93 @@ void ORptExport::exportShapes(const Reference< XSection>& _xSection,bool _bAddPa
 
 void ORptExport::exportGroupsExpressionAsFunction(const Reference< XGroups>& _xGroups)
 {
-    if ( _xGroups.is() )
+    if ( !_xGroups.is() )
+        return;
+
+    uno::Reference< XFunctions> xFunctions = _xGroups->getReportDefinition()->getFunctions();
+    const sal_Int32 nCount = _xGroups->getCount();
+    for (sal_Int32 i = 0; i < nCount; ++i)
     {
-        uno::Reference< XFunctions> xFunctions = _xGroups->getReportDefinition()->getFunctions();
-        const sal_Int32 nCount = _xGroups->getCount();
-        for (sal_Int32 i = 0; i < nCount; ++i)
+        uno::Reference< XGroup> xGroup(_xGroups->getByIndex(i),uno::UNO_QUERY_THROW);
+        const ::sal_Int16 nGroupOn = xGroup->getGroupOn();
+        if ( nGroupOn != report::GroupOn::DEFAULT )
         {
-            uno::Reference< XGroup> xGroup(_xGroups->getByIndex(i),uno::UNO_QUERY_THROW);
-            const ::sal_Int16 nGroupOn = xGroup->getGroupOn();
-            if ( nGroupOn != report::GroupOn::DEFAULT )
+            uno::Reference< XFunction> xFunction = xFunctions->createFunction();
+            OUString sFunction,sPrefix,sPostfix;
+            OUString sExpression = xGroup->getExpression();
+            OUString sFunctionName;
+            OUString sInitialFormula;
+            switch(nGroupOn)
             {
-                uno::Reference< XFunction> xFunction = xFunctions->createFunction();
-                OUString sFunction,sPrefix,sPostfix;
-                OUString sExpression = xGroup->getExpression();
-                OUString sFunctionName;
-                OUString sInitialFormula;
-                switch(nGroupOn)
-                {
-                    case report::GroupOn::PREFIX_CHARACTERS:
-                        sFunction = "LEFT";
-                        sPrefix = ";" + OUString::number(xGroup->getGroupInterval());
-                        break;
-                    case report::GroupOn::YEAR:
-                        sFunction = "YEAR";
-                        break;
-                    case report::GroupOn::QUARTAL:
-                        sFunction   = "INT((MONTH";
-                        sPostfix    = "-1)/3)+1";
-                        sFunctionName = "QUARTAL_" + sExpression;
-                        break;
-                    case report::GroupOn::MONTH:
-                        sFunction = "MONTH";
-                        break;
-                    case report::GroupOn::WEEK:
-                        sFunction = "WEEK";
-                        break;
-                    case report::GroupOn::DAY:
-                        sFunction = "DAY";
-                        break;
-                    case report::GroupOn::HOUR:
-                        sFunction = "HOUR";
-                        break;
-                    case report::GroupOn::MINUTE:
-                        sFunction = "MINUTE";
-                        break;
-                    case report::GroupOn::INTERVAL:
-                        {
-                            sFunction = "INT";
-                            uno::Reference< XFunction> xCountFunction = xFunctions->createFunction();
-                            xCountFunction->setInitialFormula(beans::Optional< OUString>(true,OUString("rpt:0")));
-                            OUString sCountName = sFunction + "_count_" + sExpression;
-                            xCountFunction->setName(sCountName);
-                            xCountFunction->setFormula( "rpt:[" + sCountName + "] + 1" );
-                            exportFunction(xCountFunction);
-                            sExpression = sCountName;
-                            // The reference to sCountName in the formula of sFunctionName refers to the *old* value
-                            // so we need to expand the formula of sCountName
-                            sPrefix = " + 1) / " + OUString::number(xGroup->getGroupInterval());
-                            sFunctionName = sFunction + "_" + sExpression;
-                            sFunction += "(";
-                            sInitialFormula = "rpt:0";
-                        }
-                        break;
-                    default:
-                        ;
-                }
-                if ( sFunctionName.isEmpty() )
-                    sFunctionName = sFunction + "_" + sExpression;
-                if ( !sFunction.isEmpty() )
-                {
-                    const sal_Unicode pReplaceChars[] = { '(',')',';',',','+','-','[',']','/','*'};
-                    for(sal_Unicode ch : pReplaceChars)
-                        sFunctionName = sFunctionName.replace(ch,'_');
-
-                    xFunction->setName(sFunctionName);
-                    if ( !sInitialFormula.isEmpty() )
-                        xFunction->setInitialFormula(beans::Optional< OUString>(true, sInitialFormula));
-                    sFunction = "rpt:" + sFunction + "([" + sExpression + "]";
-
-                    if ( !sPrefix.isEmpty() )
-                        sFunction += sPrefix;
-                    sFunction += ")";
-                    if ( !sPostfix.isEmpty() )
-                        sFunction += sPostfix;
-                    xFunction->setFormula(sFunction);
-                    exportFunction(xFunction);
-                    m_aGroupFunctionMap.emplace(xGroup,xFunction);
-                }
+                case report::GroupOn::PREFIX_CHARACTERS:
+                    sFunction = "LEFT";
+                    sPrefix = ";" + OUString::number(xGroup->getGroupInterval());
+                    break;
+                case report::GroupOn::YEAR:
+                    sFunction = "YEAR";
+                    break;
+                case report::GroupOn::QUARTAL:
+                    sFunction   = "INT((MONTH";
+                    sPostfix    = "-1)/3)+1";
+                    sFunctionName = "QUARTAL_" + sExpression;
+                    break;
+                case report::GroupOn::MONTH:
+                    sFunction = "MONTH";
+                    break;
+                case report::GroupOn::WEEK:
+                    sFunction = "WEEK";
+                    break;
+                case report::GroupOn::DAY:
+                    sFunction = "DAY";
+                    break;
+                case report::GroupOn::HOUR:
+                    sFunction = "HOUR";
+                    break;
+                case report::GroupOn::MINUTE:
+                    sFunction = "MINUTE";
+                    break;
+                case report::GroupOn::INTERVAL:
+                    {
+                        sFunction = "INT";
+                        uno::Reference< XFunction> xCountFunction = xFunctions->createFunction();
+                        xCountFunction->setInitialFormula(beans::Optional< OUString>(true,OUString("rpt:0")));
+                        OUString sCountName = sFunction + "_count_" + sExpression;
+                        xCountFunction->setName(sCountName);
+                        xCountFunction->setFormula( "rpt:[" + sCountName + "] + 1" );
+                        exportFunction(xCountFunction);
+                        sExpression = sCountName;
+                        // The reference to sCountName in the formula of sFunctionName refers to the *old* value
+                        // so we need to expand the formula of sCountName
+                        sPrefix = " + 1) / " + OUString::number(xGroup->getGroupInterval());
+                        sFunctionName = sFunction + "_" + sExpression;
+                        sFunction += "(";
+                        sInitialFormula = "rpt:0";
+                    }
+                    break;
+                default:
+                    ;
+            }
+            if ( sFunctionName.isEmpty() )
+                sFunctionName = sFunction + "_" + sExpression;
+            if ( !sFunction.isEmpty() )
+            {
+                const sal_Unicode pReplaceChars[] = { '(',')',';',',','+','-','[',']','/','*'};
+                for(sal_Unicode ch : pReplaceChars)
+                    sFunctionName = sFunctionName.replace(ch,'_');
+
+                xFunction->setName(sFunctionName);
+                if ( !sInitialFormula.isEmpty() )
+                    xFunction->setInitialFormula(beans::Optional< OUString>(true, sInitialFormula));
+                sFunction = "rpt:" + sFunction + "([" + sExpression + "]";
+
+                if ( !sPrefix.isEmpty() )
+                    sFunction += sPrefix;
+                sFunction += ")";
+                if ( !sPostfix.isEmpty() )
+                    sFunction += sPostfix;
+                xFunction->setFormula(sFunction);
+                exportFunction(xFunction);
+                m_aGroupFunctionMap.emplace(xGroup,xFunction);
             }
         }
     }
diff --git a/reportdesign/source/filter/xml/xmlExportDocumentHandler.cxx b/reportdesign/source/filter/xml/xmlExportDocumentHandler.cxx
index 4d8f8356f6be..7ba132baf335 100644
--- a/reportdesign/source/filter/xml/xmlExportDocumentHandler.cxx
+++ b/reportdesign/source/filter/xml/xmlExportDocumentHandler.cxx
@@ -317,18 +317,18 @@ void SAL_CALL ExportDocumentHandler::initialize( const uno::Sequence< uno::Any >
                     ,sCommand);
 
     uno::Reference< chart::XComplexDescriptionAccess > xDataProvider(m_xDatabaseDataProvider,uno::UNO_QUERY);
-    if ( xDataProvider.is() )
+    if ( !xDataProvider.is() )
+        return;
+
+    m_aColumns.realloc(1);
+    const uno::Sequence< OUString > aColumnNames = xDataProvider->getColumnDescriptions();
+    for(const auto& rColumnName : aColumnNames)
     {
-        m_aColumns.realloc(1);
-        const uno::Sequence< OUString > aColumnNames = xDataProvider->getColumnDescriptions();
-        for(const auto& rColumnName : aColumnNames)
+        if ( !rColumnName.isEmpty() )
         {
-            if ( !rColumnName.isEmpty() )
-            {
-                sal_Int32 nCount = m_aColumns.getLength();
-                m_aColumns.realloc(nCount+1);
-                m_aColumns[nCount] = rColumnName;
-            }
+            sal_Int32 nCount = m_aColumns.getLength();
+            m_aColumns.realloc(nCount+1);
+            m_aColumns[nCount] = rColumnName;
         }
     }
 }
diff --git a/reportdesign/source/filter/xml/xmlFixedContent.cxx b/reportdesign/source/filter/xml/xmlFixedContent.cxx
index b5514c08ca16..805a15edb3bd 100644
--- a/reportdesign/source/filter/xml/xmlFixedContent.cxx
+++ b/reportdesign/source/filter/xml/xmlFixedContent.cxx
@@ -165,32 +165,32 @@ css::uno::Reference< css::xml::sax::XFastContextHandler > OXMLFixedContent::crea
 
 void OXMLFixedContent::endFastElement(sal_Int32 nElement)
 {
-    if ( m_pInP )
+    if ( !m_pInP )
+        return;
+
+    const Reference<XMultiServiceFactory> xFactor(m_rImport.GetModel(),uno::UNO_QUERY);
+    if ( m_bFormattedField )
     {
-        const Reference<XMultiServiceFactory> xFactor(m_rImport.GetModel(),uno::UNO_QUERY);
-        if ( m_bFormattedField )
-        {
-            uno::Reference< uno::XInterface> xInt = xFactor->createInstance(SERVICE_FORMATTEDFIELD);
-            Reference< report::XFormattedField > xControl(xInt,uno::UNO_QUERY);
-            xControl->setDataField("rpt:" + m_sPageText);
-            OSL_ENSURE(xControl.is(),"Could not create FormattedField!");
-            m_pInP->m_xReportComponent = xControl.get();
-            m_xReportComponent = xControl.get();
-        }
-        else
-        {
-            Reference< XFixedText > xControl(xFactor->createInstance(SERVICE_FIXEDTEXT),uno::UNO_QUERY);
-            OSL_ENSURE(xControl.is(),"Could not create FixedContent!");
-            m_pInP->m_xReportComponent = xControl.get();
-            m_xReportComponent = xControl.get();
-            xControl->setLabel(m_sLabel);
-        }
+        uno::Reference< uno::XInterface> xInt = xFactor->createInstance(SERVICE_FORMATTEDFIELD);
+        Reference< report::XFormattedField > xControl(xInt,uno::UNO_QUERY);
+        xControl->setDataField("rpt:" + m_sPageText);
+        OSL_ENSURE(xControl.is(),"Could not create FormattedField!");
+        m_pInP->m_xReportComponent = xControl.get();
+        m_xReportComponent = xControl.get();
+    }
+    else
+    {
+        Reference< XFixedText > xControl(xFactor->createInstance(SERVICE_FIXEDTEXT),uno::UNO_QUERY);
+        OSL_ENSURE(xControl.is(),"Could not create FixedContent!");
+        m_pInP->m_xReportComponent = xControl.get();
+        m_xReportComponent = xControl.get();
+        xControl->setLabel(m_sLabel);
+    }
 
-        m_pContainer->addCell(m_xReportComponent);
-        m_rCell.setComponent(m_xReportComponent);
+    m_pContainer->addCell(m_xReportComponent);
+    m_rCell.setComponent(m_xReportComponent);
 
-        OXMLReportElementBase::endFastElement(nElement);
-    }
+    OXMLReportElementBase::endFastElement(nElement);
 }
 
 void OXMLFixedContent::characters( const OUString& rChars )
diff --git a/reportdesign/source/filter/xml/xmlHelper.cxx b/reportdesign/source/filter/xml/xmlHelper.cxx
index 2372db278137..01ae9744f446 100644
--- a/reportdesign/source/filter/xml/xmlHelper.cxx
+++ b/reportdesign/source/filter/xml/xmlHelper.cxx
@@ -256,67 +256,67 @@ void OXMLHelper::copyStyleElements(const bool _bOld,const OUString& _sStyleName,
     if ( !_xProp.is() || _sStyleName.isEmpty() || !_pAutoStyles )
         return;
     XMLPropStyleContext* pAutoStyle = const_cast<XMLPropStyleContext*>(dynamic_cast< const XMLPropStyleContext *>(_pAutoStyles->FindStyleChildContext(XmlStyleFamily::TABLE_CELL,_sStyleName)));
-    if ( pAutoStyle )
+    if ( !pAutoStyle )
+        return;
+
+    css::awt::FontDescriptor aFont;
+    static comphelper::PropertyMapEntry const pMap[] =
     {
-        css::awt::FontDescriptor aFont;
-        static comphelper::PropertyMapEntry const pMap[] =
-        {
-            {OUString(PROPERTY_FONTNAME),         PROPERTY_ID_FONTNAME,           cppu::UnoType<decltype(aFont.Name)>::get()         ,PropertyAttribute::BOUND,0},
-            {OUString(PROPERTY_CHARFONTHEIGHT),   PROPERTY_ID_FONTHEIGHT,         cppu::UnoType<decltype(aFont.Height)>::get()       ,PropertyAttribute::BOUND,0},
-            {OUString(PROPERTY_FONTWIDTH),        PROPERTY_ID_FONTWIDTH,          cppu::UnoType<decltype(aFont.Width)>::get()        ,PropertyAttribute::BOUND,0},
-            {OUString(PROPERTY_FONTSTYLENAME),    PROPERTY_ID_FONTSTYLENAME,      cppu::UnoType<decltype(aFont.StyleName)>::get()    ,PropertyAttribute::BOUND,0},
-            {OUString(PROPERTY_FONTFAMILY),       PROPERTY_ID_FONTFAMILY,         cppu::UnoType<decltype(aFont.Family)>::get()       ,PropertyAttribute::BOUND,0},
-            {OUString(PROPERTY_FONTCHARSET),      PROPERTY_ID_FONTCHARSET,        cppu::UnoType<decltype(aFont.CharSet)>::get()      ,PropertyAttribute::BOUND,0},
-            {OUString(PROPERTY_FONTPITCH),        PROPERTY_ID_FONTPITCH,          cppu::UnoType<decltype(aFont.Pitch)>::get()        ,PropertyAttribute::BOUND,0},
-            {OUString(PROPERTY_FONTCHARWIDTH),    PROPERTY_ID_FONTCHARWIDTH,      cppu::UnoType<decltype(aFont.CharacterWidth)>::get(),PropertyAttribute::BOUND,0},
-            {OUString(PROPERTY_FONTWEIGHT),       PROPERTY_ID_FONTWEIGHT,         cppu::UnoType<decltype(aFont.Weight)>::get()       ,PropertyAttribute::BOUND,0},
-            {OUString(PROPERTY_CHARPOSTURE),      PROPERTY_ID_FONTSLANT,          cppu::UnoType<decltype(aFont.Slant)>::get()        ,PropertyAttribute::BOUND,0},
-            {OUString(PROPERTY_FONTUNDERLINE),    PROPERTY_ID_FONTUNDERLINE,      cppu::UnoType<decltype(aFont.Underline)>::get()    ,PropertyAttribute::BOUND,0},
-            {OUString(PROPERTY_CHARSTRIKEOUT),    PROPERTY_ID_FONTSTRIKEOUT,      cppu::UnoType<decltype(aFont.Strikeout)>::get()    ,PropertyAttribute::BOUND,0},
-            {OUString(PROPERTY_FONTORIENTATION),  PROPERTY_ID_FONTORIENTATION,    cppu::UnoType<decltype(aFont.Orientation)>::get()  ,PropertyAttribute::BOUND,0},
-            {OUString(PROPERTY_FONTKERNING),      PROPERTY_ID_FONTKERNING,        cppu::UnoType<decltype(aFont.Kerning)>::get()      ,PropertyAttribute::BOUND,0},
-            {OUString(PROPERTY_CHARWORDMODE),     PROPERTY_ID_FONTWORDLINEMODE,   cppu::UnoType<decltype(aFont.WordLineMode)>::get() ,PropertyAttribute::BOUND,0},
-            {OUString(PROPERTY_FONTTYPE),         PROPERTY_ID_FONTTYPE,           cppu::UnoType<decltype(aFont.Type)>::get()         ,PropertyAttribute::BOUND,0},
-            { OUString(), 0, css::uno::Type(), 0, 0 }
-        };
-        try
-        {
-            pAutoStyle->FillPropertySet(_xProp);
-            if ( _bOld && _xProp->getPropertySetInfo()->hasPropertyByName(PROPERTY_CHARHIDDEN) )
-                _xProp->setPropertyValue(PROPERTY_CHARHIDDEN,uno::makeAny(false));
+        {OUString(PROPERTY_FONTNAME),         PROPERTY_ID_FONTNAME,           cppu::UnoType<decltype(aFont.Name)>::get()         ,PropertyAttribute::BOUND,0},
+        {OUString(PROPERTY_CHARFONTHEIGHT),   PROPERTY_ID_FONTHEIGHT,         cppu::UnoType<decltype(aFont.Height)>::get()       ,PropertyAttribute::BOUND,0},
+        {OUString(PROPERTY_FONTWIDTH),        PROPERTY_ID_FONTWIDTH,          cppu::UnoType<decltype(aFont.Width)>::get()        ,PropertyAttribute::BOUND,0},
+        {OUString(PROPERTY_FONTSTYLENAME),    PROPERTY_ID_FONTSTYLENAME,      cppu::UnoType<decltype(aFont.StyleName)>::get()    ,PropertyAttribute::BOUND,0},
+        {OUString(PROPERTY_FONTFAMILY),       PROPERTY_ID_FONTFAMILY,         cppu::UnoType<decltype(aFont.Family)>::get()       ,PropertyAttribute::BOUND,0},
+        {OUString(PROPERTY_FONTCHARSET),      PROPERTY_ID_FONTCHARSET,        cppu::UnoType<decltype(aFont.CharSet)>::get()      ,PropertyAttribute::BOUND,0},
+        {OUString(PROPERTY_FONTPITCH),        PROPERTY_ID_FONTPITCH,          cppu::UnoType<decltype(aFont.Pitch)>::get()        ,PropertyAttribute::BOUND,0},
+        {OUString(PROPERTY_FONTCHARWIDTH),    PROPERTY_ID_FONTCHARWIDTH,      cppu::UnoType<decltype(aFont.CharacterWidth)>::get(),PropertyAttribute::BOUND,0},
+        {OUString(PROPERTY_FONTWEIGHT),       PROPERTY_ID_FONTWEIGHT,         cppu::UnoType<decltype(aFont.Weight)>::get()       ,PropertyAttribute::BOUND,0},
+        {OUString(PROPERTY_CHARPOSTURE),      PROPERTY_ID_FONTSLANT,          cppu::UnoType<decltype(aFont.Slant)>::get()        ,PropertyAttribute::BOUND,0},
+        {OUString(PROPERTY_FONTUNDERLINE),    PROPERTY_ID_FONTUNDERLINE,      cppu::UnoType<decltype(aFont.Underline)>::get()    ,PropertyAttribute::BOUND,0},
+        {OUString(PROPERTY_CHARSTRIKEOUT),    PROPERTY_ID_FONTSTRIKEOUT,      cppu::UnoType<decltype(aFont.Strikeout)>::get()    ,PropertyAttribute::BOUND,0},
+        {OUString(PROPERTY_FONTORIENTATION),  PROPERTY_ID_FONTORIENTATION,    cppu::UnoType<decltype(aFont.Orientation)>::get()  ,PropertyAttribute::BOUND,0},
+        {OUString(PROPERTY_FONTKERNING),      PROPERTY_ID_FONTKERNING,        cppu::UnoType<decltype(aFont.Kerning)>::get()      ,PropertyAttribute::BOUND,0},
+        {OUString(PROPERTY_CHARWORDMODE),     PROPERTY_ID_FONTWORDLINEMODE,   cppu::UnoType<decltype(aFont.WordLineMode)>::get() ,PropertyAttribute::BOUND,0},
+        {OUString(PROPERTY_FONTTYPE),         PROPERTY_ID_FONTTYPE,           cppu::UnoType<decltype(aFont.Type)>::get()         ,PropertyAttribute::BOUND,0},
+        { OUString(), 0, css::uno::Type(), 0, 0 }
+    };
+    try
+    {
+        pAutoStyle->FillPropertySet(_xProp);
+        if ( _bOld && _xProp->getPropertySetInfo()->hasPropertyByName(PROPERTY_CHARHIDDEN) )
+            _xProp->setPropertyValue(PROPERTY_CHARHIDDEN,uno::makeAny(false));
 
-            uno::Reference<beans::XPropertySet> xProp = comphelper::GenericPropertySet_CreateInstance(new comphelper::PropertySetInfo(pMap));
-            pAutoStyle->FillPropertySet(xProp);
-            xProp->getPropertyValue(PROPERTY_FONTNAME) >>=          aFont.Name;
-            xProp->getPropertyValue(PROPERTY_CHARFONTHEIGHT) >>=        aFont.Height;
-            xProp->getPropertyValue(PROPERTY_FONTWIDTH) >>=             aFont.Width;
-            xProp->getPropertyValue(PROPERTY_FONTSTYLENAME) >>=         aFont.StyleName;
-            xProp->getPropertyValue(PROPERTY_FONTFAMILY) >>=        aFont.Family;
-            xProp->getPropertyValue(PROPERTY_FONTCHARSET) >>=       aFont.CharSet;
-            xProp->getPropertyValue(PROPERTY_FONTPITCH) >>=             aFont.Pitch;
-            xProp->getPropertyValue(PROPERTY_FONTCHARWIDTH) >>=         aFont.CharacterWidth;
-            xProp->getPropertyValue(PROPERTY_FONTWEIGHT) >>=        aFont.Weight;
-            xProp->getPropertyValue(PROPERTY_CHARPOSTURE) >>=           aFont.Slant;
-            xProp->getPropertyValue(PROPERTY_FONTUNDERLINE) >>=         aFont.Underline;
-            xProp->getPropertyValue(PROPERTY_CHARSTRIKEOUT) >>=         aFont.Strikeout;
-            xProp->getPropertyValue(PROPERTY_FONTORIENTATION) >>=   aFont.Orientation;
-            xProp->getPropertyValue(PROPERTY_FONTKERNING) >>=       aFont.Kerning;
-            xProp->getPropertyValue(PROPERTY_CHARWORDMODE) >>=  aFont.WordLineMode;
-            xProp->getPropertyValue(PROPERTY_FONTTYPE) >>=          aFont.Type;
-            uno::Reference<report::XReportControlFormat> xReportControlModel(_xProp,uno::UNO_QUERY);
-            if ( xReportControlModel.is() && !aFont.Name.isEmpty() )
+        uno::Reference<beans::XPropertySet> xProp = comphelper::GenericPropertySet_CreateInstance(new comphelper::PropertySetInfo(pMap));
+        pAutoStyle->FillPropertySet(xProp);
+        xProp->getPropertyValue(PROPERTY_FONTNAME) >>=          aFont.Name;
+        xProp->getPropertyValue(PROPERTY_CHARFONTHEIGHT) >>=        aFont.Height;
+        xProp->getPropertyValue(PROPERTY_FONTWIDTH) >>=             aFont.Width;
+        xProp->getPropertyValue(PROPERTY_FONTSTYLENAME) >>=         aFont.StyleName;
+        xProp->getPropertyValue(PROPERTY_FONTFAMILY) >>=        aFont.Family;
+        xProp->getPropertyValue(PROPERTY_FONTCHARSET) >>=       aFont.CharSet;
+        xProp->getPropertyValue(PROPERTY_FONTPITCH) >>=             aFont.Pitch;
+        xProp->getPropertyValue(PROPERTY_FONTCHARWIDTH) >>=         aFont.CharacterWidth;
+        xProp->getPropertyValue(PROPERTY_FONTWEIGHT) >>=        aFont.Weight;
+        xProp->getPropertyValue(PROPERTY_CHARPOSTURE) >>=           aFont.Slant;
+        xProp->getPropertyValue(PROPERTY_FONTUNDERLINE) >>=         aFont.Underline;
+        xProp->getPropertyValue(PROPERTY_CHARSTRIKEOUT) >>=         aFont.Strikeout;
+        xProp->getPropertyValue(PROPERTY_FONTORIENTATION) >>=   aFont.Orientation;
+        xProp->getPropertyValue(PROPERTY_FONTKERNING) >>=       aFont.Kerning;
+        xProp->getPropertyValue(PROPERTY_CHARWORDMODE) >>=  aFont.WordLineMode;
+        xProp->getPropertyValue(PROPERTY_FONTTYPE) >>=          aFont.Type;
+        uno::Reference<report::XReportControlFormat> xReportControlModel(_xProp,uno::UNO_QUERY);
+        if ( xReportControlModel.is() && !aFont.Name.isEmpty() )
+        {
+            try
             {
-                try
-                {
-                    xReportControlModel->setFontDescriptor(aFont);
-                }
-                catch(const beans::UnknownPropertyException &){}
+                xReportControlModel->setFontDescriptor(aFont);
             }
-           }
-        catch(uno::Exception&)
-        {
-            OSL_FAIL("OXMLHelper::copyStyleElements -> exception caught");
+            catch(const beans::UnknownPropertyException &){}
         }
+       }
+    catch(uno::Exception&)
+    {
+        OSL_FAIL("OXMLHelper::copyStyleElements -> exception caught");
     }
 }
 
diff --git a/reportdesign/source/filter/xml/xmlImportDocumentHandler.cxx b/reportdesign/source/filter/xml/xmlImportDocumentHandler.cxx
index c3559667869c..17310b206e20 100644
--- a/reportdesign/source/filter/xml/xmlImportDocumentHandler.cxx
+++ b/reportdesign/source/filter/xml/xmlImportDocumentHandler.cxx
@@ -108,49 +108,49 @@ void SAL_CALL ImportDocumentHandler::endDocument()
 {
     m_xDelegatee->endDocument();
     uno::Reference< chart2::data::XDataReceiver > xReceiver(m_xModel,uno::UNO_QUERY_THROW);
-    if ( m_bImportedChart )
-    {
-        // this fills the chart again
-        ::comphelper::NamedValueCollection aArgs;
-        aArgs.put( "CellRangeRepresentation", OUString("all") );
-        aArgs.put( "FirstCellAsLabel", uno::makeAny( true ) );
-        aArgs.put( "DataRowSource", uno::makeAny( chart::ChartDataRowSource_COLUMNS ) );
+    if ( !m_bImportedChart )
+        return;
+
+    // this fills the chart again
+    ::comphelper::NamedValueCollection aArgs;
+    aArgs.put( "CellRangeRepresentation", OUString("all") );
+    aArgs.put( "FirstCellAsLabel", uno::makeAny( true ) );
+    aArgs.put( "DataRowSource", uno::makeAny( chart::ChartDataRowSource_COLUMNS ) );
 
-        bool bHasCategories = false;
+    bool bHasCategories = false;
 
-        uno::Reference< chart2::data::XDataSource > xDataSource(m_xModel, uno::UNO_QUERY);
-        if( xDataSource.is())
+    uno::Reference< chart2::data::XDataSource > xDataSource(m_xModel, uno::UNO_QUERY);
+    if( xDataSource.is())
+    {
+        const uno::Sequence< uno::Reference< chart2::data::XLabeledDataSequence > > aSequences(xDataSource->getDataSequences());
+        for( const auto& rSequence : aSequences )
         {
-            const uno::Sequence< uno::Reference< chart2::data::XLabeledDataSequence > > aSequences(xDataSource->getDataSequences());
-            for( const auto& rSequence : aSequences )
+            if( rSequence.is() )
             {
-                if( rSequence.is() )
+                uno::Reference< beans::XPropertySet > xSeqProp( rSequence->getValues(), uno::UNO_QUERY );
+                OUString aRole;
+                if  (   xSeqProp.is()
+                    &&  ( xSeqProp->getPropertyValue( "Role" ) >>= aRole )
+                    &&  aRole == "categories"
+                    )
                 {
-                    uno::Reference< beans::XPropertySet > xSeqProp( rSequence->getValues(), uno::UNO_QUERY );
-                    OUString aRole;
-                    if  (   xSeqProp.is()
-                        &&  ( xSeqProp->getPropertyValue( "Role" ) >>= aRole )
-                        &&  aRole == "categories"
-                        )
-                    {
-                        bHasCategories = true;
-                        break;
-                    }
+                    bHasCategories = true;
+                    break;
                 }
             }
         }
-        aArgs.put( "HasCategories", uno::makeAny( bHasCategories ) );
-
-        uno::Reference< chart::XComplexDescriptionAccess > xDataProvider(m_xModel->getDataProvider(),uno::UNO_QUERY);
-        if ( xDataProvider.is() )
-        {
-            const uno::Sequence< OUString > aColumnNames = xDataProvider->getColumnDescriptions();
-            aArgs.put( "ColumnDescriptions", uno::makeAny( aColumnNames ) );
-        }
+    }
+    aArgs.put( "HasCategories", uno::makeAny( bHasCategories ) );
 
-        xReceiver->attachDataProvider( m_xDatabaseDataProvider.get() );
-        xReceiver->setArguments( aArgs.getPropertyValues() );
+    uno::Reference< chart::XComplexDescriptionAccess > xDataProvider(m_xModel->getDataProvider(),uno::UNO_QUERY);
+    if ( xDataProvider.is() )
+    {
+        const uno::Sequence< OUString > aColumnNames = xDataProvider->getColumnDescriptions();
+        aArgs.put( "ColumnDescriptions", uno::makeAny( aColumnNames ) );
     }
+
+    xReceiver->attachDataProvider( m_xDatabaseDataProvider.get() );
+    xReceiver->setArguments( aArgs.getPropertyValues() );
 }
 
 void SAL_CALL ImportDocumentHandler::startElement(const OUString & _sName, const uno::Reference< xml::sax::XAttributeList > & _xAttrList)
diff --git a/reportdesign/source/filter/xml/xmlSubDocument.cxx b/reportdesign/source/filter/xml/xmlSubDocument.cxx
index fabbb67f2187..041cd7a44406 100644
--- a/reportdesign/source/filter/xml/xmlSubDocument.cxx
+++ b/reportdesign/source/filter/xml/xmlSubDocument.cxx
@@ -111,42 +111,41 @@ css::uno::Reference< css::xml::sax::XFastContextHandler > OXMLSubDocument::creat
 
 void OXMLSubDocument::endFastElement(sal_Int32 )
 {
-    if ( m_bContainsShape )
+    if ( !m_bContainsShape )
+        return;
+
+    m_xReportComponent.set(m_pContainer->getSection()->getByIndex(m_nCurrentCount),uno::UNO_QUERY);
+    if ( !m_xReportComponent.is() )
+        return;
+
+    if ( !m_aMasterFields.empty() )
+        m_xReportComponent->setMasterFields(Sequence< OUString>(&*m_aMasterFields.begin(),m_aMasterFields.size()));
+    if ( !m_aDetailFields.empty() )
+        m_xReportComponent->setDetailFields(Sequence< OUString>(&*m_aDetailFields.begin(),m_aDetailFields.size()));
+
+    m_xReportComponent->setName(m_xFake->getName());
+    m_xReportComponent->setPrintRepeatedValues(m_xFake->getPrintRepeatedValues());
+    uno::Reference< report::XReportControlModel >   xFakeModel(m_xFake,uno::UNO_QUERY);
+    uno::Reference< report::XReportControlModel >   xComponentModel(m_xReportComponent,uno::UNO_QUERY);
+    if ( !(xComponentModel.is() && xFakeModel.is()) )
+        return;
+
+    xComponentModel->setPrintWhenGroupChange(xFakeModel->getPrintWhenGroupChange());
+    const sal_Int32 nCount = xFakeModel->getCount();
+    try
     {
-        m_xReportComponent.set(m_pContainer->getSection()->getByIndex(m_nCurrentCount),uno::UNO_QUERY);
-        if ( m_xReportComponent.is() )
+        for (sal_Int32 i = 0; i < nCount ; ++i)
         {
-            if ( !m_aMasterFields.empty() )
-                m_xReportComponent->setMasterFields(Sequence< OUString>(&*m_aMasterFields.begin(),m_aMasterFields.size()));
-            if ( !m_aDetailFields.empty() )
-                m_xReportComponent->setDetailFields(Sequence< OUString>(&*m_aDetailFields.begin(),m_aDetailFields.size()));
-
-            m_xReportComponent->setName(m_xFake->getName());
-            m_xReportComponent->setPrintRepeatedValues(m_xFake->getPrintRepeatedValues());
-            uno::Reference< report::XReportControlModel >   xFakeModel(m_xFake,uno::UNO_QUERY);
-            uno::Reference< report::XReportControlModel >   xComponentModel(m_xReportComponent,uno::UNO_QUERY);
-            if ( xComponentModel.is() && xFakeModel.is() )
-            {
-                xComponentModel->setPrintWhenGroupChange(xFakeModel->getPrintWhenGroupChange());
-                const sal_Int32 nCount = xFakeModel->getCount();
-                try
-                {
-                    for (sal_Int32 i = 0; i < nCount ; ++i)
-                    {
-                        uno::Reference< report::XFormatCondition > xCond(xFakeModel->getByIndex(i),uno::UNO_QUERY);
-                        uno::Reference< report::XFormatCondition > xNewCond = xComponentModel->createFormatCondition();
-                        ::comphelper::copyProperties(xCond.get(),xNewCond.get());
-                        xComponentModel->insertByIndex(xComponentModel->getCount(),uno::makeAny(xNewCond));
-                    }
-                }
-                catch(uno::Exception&)
-                {
-                    OSL_FAIL("Can not access format condition!");
-                }
-
-            }
+            uno::Reference< report::XFormatCondition > xCond(xFakeModel->getByIndex(i),uno::UNO_QUERY);
+            uno::Reference< report::XFormatCondition > xNewCond = xComponentModel->createFormatCondition();
+            ::comphelper::copyProperties(xCond.get(),xNewCond.get());
+            xComponentModel->insertByIndex(xComponentModel->getCount(),uno::makeAny(xNewCond));
         }
     }
+    catch(uno::Exception&)
+    {
+        OSL_FAIL("Can not access format condition!");
+    }
 }
 
 void OXMLSubDocument::addMasterDetailPair(const ::std::pair< OUString,OUString >& _aPair)
diff --git a/reportdesign/source/ui/dlg/AddField.cxx b/reportdesign/source/ui/dlg/AddField.cxx
index 895ea2b9ed77..72cfb01f1c30 100644
--- a/reportdesign/source/ui/dlg/AddField.cxx
+++ b/reportdesign/source/ui/dlg/AddField.cxx
@@ -99,21 +99,21 @@ OAddFieldWindow::OAddFieldWindow(weld::Window* pParent, const uno::Reference< be
     m_xListBox->connect_changed(LINK( this, OAddFieldWindow, OnSelectHdl ) );
     m_xListBox->set_size_request(m_xListBox->get_approximate_digit_width() * 45, m_xListBox->get_height_rows(8));
 
-    if (m_xRowSet.is())
+    if (!m_xRowSet.is())
+        return;
+
+    try
     {
-        try
-        {
-            // be notified when the settings of report definition change
-            m_pChangeListener = new ::comphelper::OPropertyChangeMultiplexer( this, m_xRowSet );
-            m_pChangeListener->addProperty( PROPERTY_COMMAND );
-            m_pChangeListener->addProperty( PROPERTY_COMMANDTYPE );
-            m_pChangeListener->addProperty( PROPERTY_ESCAPEPROCESSING );
-            m_pChangeListener->addProperty( PROPERTY_FILTER );
-        }
-        catch( const Exception& )
-        {
-            DBG_UNHANDLED_EXCEPTION("reportdesign");
-        }
+        // be notified when the settings of report definition change
+        m_pChangeListener = new ::comphelper::OPropertyChangeMultiplexer( this, m_xRowSet );
+        m_pChangeListener->addProperty( PROPERTY_COMMAND );
+        m_pChangeListener->addProperty( PROPERTY_COMMANDTYPE );
+        m_pChangeListener->addProperty( PROPERTY_ESCAPEPROCESSING );
+        m_pChangeListener->addProperty( PROPERTY_FILTER );
+    }
+    catch( const Exception& )
+    {
+        DBG_UNHANDLED_EXCEPTION("reportdesign");
     }
 }
 
@@ -261,48 +261,48 @@ uno::Reference< sdbc::XConnection> OAddFieldWindow::getConnection() const
 
 void OAddFieldWindow::fillDescriptor(const weld::TreeIter& rSelected, svx::ODataAccessDescriptor& rDescriptor)
 {
-    if (m_xColumns.is())
+    if (!m_xColumns.is())
+        return;
+
+    uno::Reference<container::XChild> xChild(getConnection(),uno::UNO_QUERY);
+    if ( xChild.is( ) )
     {
-        uno::Reference<container::XChild> xChild(getConnection(),uno::UNO_QUERY);
-        if ( xChild.is( ) )
+        uno::Reference<sdb::XDocumentDataSource> xDocument( xChild->getParent(), uno::UNO_QUERY );
+        if ( xDocument.is() )
         {
-            uno::Reference<sdb::XDocumentDataSource> xDocument( xChild->getParent(), uno::UNO_QUERY );
-            if ( xDocument.is() )
-            {
-                uno::Reference<frame::XModel> xModel(xDocument->getDatabaseDocument(),uno::UNO_QUERY);
-                if ( xModel.is() )
-                    rDescriptor[ DataAccessDescriptorProperty::DatabaseLocation ] <<= xModel->getURL();
-            }
+            uno::Reference<frame::XModel> xModel(xDocument->getDatabaseDocument(),uno::UNO_QUERY);
+            if ( xModel.is() )
+                rDescriptor[ DataAccessDescriptorProperty::DatabaseLocation ] <<= xModel->getURL();
         }
+    }
 
-        rDescriptor[ svx::DataAccessDescriptorProperty::Command ]            <<= GetCommand();
-        rDescriptor[ svx::DataAccessDescriptorProperty::CommandType ]        <<= GetCommandType();
-        rDescriptor[ svx::DataAccessDescriptorProperty::EscapeProcessing ]   <<= m_bEscapeProcessing;
-        rDescriptor[ svx::DataAccessDescriptorProperty::Connection ]         <<= getConnection();
+    rDescriptor[ svx::DataAccessDescriptorProperty::Command ]            <<= GetCommand();
+    rDescriptor[ svx::DataAccessDescriptorProperty::CommandType ]        <<= GetCommandType();
+    rDescriptor[ svx::DataAccessDescriptorProperty::EscapeProcessing ]   <<= m_bEscapeProcessing;
+    rDescriptor[ svx::DataAccessDescriptorProperty::Connection ]         <<= getConnection();
 
-        ColumnInfo* pInfo = reinterpret_cast<ColumnInfo*>(m_xListBox->get_id(rSelected).toInt64());
-        rDescriptor[ svx::DataAccessDescriptorProperty::ColumnName ]         <<= pInfo->sColumnName;
-        if ( m_xColumns->hasByName( pInfo->sColumnName ) )
-            rDescriptor[ svx::DataAccessDescriptorProperty::ColumnObject ] = m_xColumns->getByName(pInfo->sColumnName);
-    }
+    ColumnInfo* pInfo = reinterpret_cast<ColumnInfo*>(m_xListBox->get_id(rSelected).toInt64());
+    rDescriptor[ svx::DataAccessDescriptorProperty::ColumnName ]         <<= pInfo->sColumnName;
+    if ( m_xColumns->hasByName( pInfo->sColumnName ) )
+        rDescriptor[ svx::DataAccessDescriptorProperty::ColumnObject ] = m_xColumns->getByName(pInfo->sColumnName);
 }
 
 void OAddFieldWindow::_elementInserted( const container::ContainerEvent& _rEvent )
 {
     OUString sName;
-    if ( (_rEvent.Accessor >>= sName) && m_xColumns->hasByName(sName) )
-    {
-        uno::Reference< beans::XPropertySet> xColumn(m_xColumns->getByName(sName),UNO_QUERY_THROW);
-        OUString sLabel;
-        if ( xColumn->getPropertySetInfo()->hasPropertyByName(PROPERTY_LABEL) )
-            xColumn->getPropertyValue(PROPERTY_LABEL) >>= sLabel;
-        m_aListBoxData.emplace_back(new ColumnInfo(sName, sLabel));
-        OUString sId(OUString::number(reinterpret_cast<sal_Int64>(m_aListBoxData.back().get())));
-        if (!sLabel.isEmpty())
-            m_xListBox->append(sId, sLabel);
-        else
-            m_xListBox->append(sId, sName);
-    }
+    if ( !((_rEvent.Accessor >>= sName) && m_xColumns->hasByName(sName)) )
+        return;
+
+    uno::Reference< beans::XPropertySet> xColumn(m_xColumns->getByName(sName),UNO_QUERY_THROW);
+    OUString sLabel;
+    if ( xColumn->getPropertySetInfo()->hasPropertyByName(PROPERTY_LABEL) )
+        xColumn->getPropertyValue(PROPERTY_LABEL) >>= sLabel;
+    m_aListBoxData.emplace_back(new ColumnInfo(sName, sLabel));
+    OUString sId(OUString::number(reinterpret_cast<sal_Int64>(m_aListBoxData.back().get())));
+    if (!sLabel.isEmpty())
+        m_xListBox->append(sId, sLabel);
+    else
+        m_xListBox->append(sId, sName);
 }
 
 void OAddFieldWindow::_elementRemoved( const container::ContainerEvent& /*_rEvent*/ )
diff --git a/reportdesign/source/ui/dlg/CondFormat.cxx b/reportdesign/source/ui/dlg/CondFormat.cxx
index c7a64b297d46..b15e6ae3fc64 100644
--- a/reportdesign/source/ui/dlg/CondFormat.cxx
+++ b/reportdesign/source/ui/dlg/CondFormat.cxx
@@ -65,18 +65,18 @@ namespace rptui
 
         //allow dialog to resize itself
         size_t nCount = impl_getConditionCount();
-        if (nCount)
+        if (!nCount)
+            return;
+
+        auto nHeight = m_aConditions[0]->get_preferred_size().Height();
+        size_t nVisibleConditions = ::std::min(nCount, MAX_CONDITIONS);
+        nHeight *= nVisibleConditions;
+        nHeight += 2;
+        if (nHeight != m_xScrollWindow->get_size_request().Height())
         {
-            auto nHeight = m_aConditions[0]->get_preferred_size().Height();
-            size_t nVisibleConditions = ::std::min(nCount, MAX_CONDITIONS);
-            nHeight *= nVisibleConditions;
-            nHeight += 2;
-            if (nHeight != m_xScrollWindow->get_size_request().Height())
-            {
-                m_xScrollWindow->set_size_request(-1, nHeight);
-                if (!bFirst)
-                    m_xDialog->resize_to_request();
-            }
+            m_xScrollWindow->set_size_request(-1, nHeight);
+            if (!bFirst)
+                m_xDialog->resize_to_request();
         }
     }
 
diff --git a/reportdesign/source/ui/dlg/Condition.cxx b/reportdesign/source/ui/dlg/Condition.cxx
index 50a28cb405f6..129ee1c7a6f3 100644
--- a/reportdesign/source/ui/dlg/Condition.cxx
+++ b/reportdesign/source/ui/dlg/Condition.cxx
@@ -321,30 +321,30 @@ void Condition::updateToolbar(const uno::Reference< report::XReportControlFormat
     OString aItems[] = { "bold", "italic", "underline", "fontdialog" };
 
     OSL_ENSURE(_xReportControlFormat.is(),"XReportControlFormat is NULL!");
-    if ( _xReportControlFormat.is() )
+    if ( !_xReportControlFormat.is() )
+        return;
+
+    for (size_t j = 0; j < SAL_N_ELEMENTS(aItems); ++j)
     {
-        for (size_t j = 0; j < SAL_N_ELEMENTS(aItems); ++j)
-        {
-            m_xActions->set_item_active(aItems[j], OReportController::isFormatCommandEnabled(mapToolbarItemToSlotId(aItems[j]),
-                _xReportControlFormat));
-        }
+        m_xActions->set_item_active(aItems[j], OReportController::isFormatCommandEnabled(mapToolbarItemToSlotId(aItems[j]),
+            _xReportControlFormat));
+    }
 
-        try
-        {
-            vcl::Font aBaseFont( Application::GetDefaultDevice()->GetSettings().GetStyleSettings().GetAppFont() );
-            SvxFont aFont( VCLUnoHelper::CreateFont( _xReportControlFormat->getFontDescriptor(), aBaseFont ) );
-            aFont.SetFontHeight(OutputDevice::LogicToLogic(Size(0, aFont.GetFontHeight()), MapMode(MapUnit::MapPoint), MapMode(MapUnit::MapTwip)).Height());
-            aFont.SetEmphasisMark( static_cast< FontEmphasisMark >( _xReportControlFormat->getControlTextEmphasis() ) );
-            aFont.SetRelief( static_cast< FontRelief >( _xReportControlFormat->getCharRelief() ) );
-            aFont.SetColor( Color(_xReportControlFormat->getCharColor()) );
-            m_aPreview.SetFont( aFont, aFont, aFont );
-            m_aPreview.SetBackColor( Color(_xReportControlFormat->getControlBackground()) );
-            m_aPreview.SetTextLineColor( Color( _xReportControlFormat->getCharUnderlineColor() ) );
-        }
-        catch( const Exception& )
-        {
-            DBG_UNHANDLED_EXCEPTION("reportdesign");
-        }
+    try
+    {
+        vcl::Font aBaseFont( Application::GetDefaultDevice()->GetSettings().GetStyleSettings().GetAppFont() );
+        SvxFont aFont( VCLUnoHelper::CreateFont( _xReportControlFormat->getFontDescriptor(), aBaseFont ) );
+        aFont.SetFontHeight(OutputDevice::LogicToLogic(Size(0, aFont.GetFontHeight()), MapMode(MapUnit::MapPoint), MapMode(MapUnit::MapTwip)).Height());
+        aFont.SetEmphasisMark( static_cast< FontEmphasisMark >( _xReportControlFormat->getControlTextEmphasis() ) );
+        aFont.SetRelief( static_cast< FontRelief >( _xReportControlFormat->getCharRelief() ) );
+        aFont.SetColor( Color(_xReportControlFormat->getCharColor()) );
+        m_aPreview.SetFont( aFont, aFont, aFont );
+        m_aPreview.SetBackColor( Color(_xReportControlFormat->getControlBackground()) );
+        m_aPreview.SetTextLineColor( Color( _xReportControlFormat->getCharUnderlineColor() ) );
+    }
+    catch( const Exception& )
+    {
+        DBG_UNHANDLED_EXCEPTION("reportdesign");
     }
 }
 
diff --git a/reportdesign/source/ui/dlg/GroupsSorting.cxx b/reportdesign/source/ui/dlg/GroupsSorting.cxx
index f9702f0385bc..bd3ad95fa456 100644
--- a/reportdesign/source/ui/dlg/GroupsSorting.cxx
+++ b/reportdesign/source/ui/dlg/GroupsSorting.cxx
@@ -306,40 +306,40 @@ sal_Int8 OFieldExpressionControl::ExecuteDrop( const BrowserExecuteDropEvent& rE
 
 void OFieldExpressionControl::moveGroups(const uno::Sequence<uno::Any>& _aGroups,sal_Int32 _nRow,bool _bSelect)
 {
-    if ( _aGroups.hasElements() )
+    if ( !_aGroups.hasElements() )
+        return;
+
+    m_bIgnoreEvent = true;
     {
-        m_bIgnoreEvent = true;
-        {
-            sal_Int32 nRow = _nRow;
-            const OUString sUndoAction(RptResId(RID_STR_UNDO_MOVE_GROUP));
-            const UndoContext aUndoContext( m_pParent->m_pController->getUndoManager(), sUndoAction );
+        sal_Int32 nRow = _nRow;
+        const OUString sUndoAction(RptResId(RID_STR_UNDO_MOVE_GROUP));
+        const UndoContext aUndoContext( m_pParent->m_pController->getUndoManager(), sUndoAction );
 
-            uno::Reference< report::XGroups> xGroups = m_pParent->getGroups();
-            for(const uno::Any& rGroup : _aGroups)
+        uno::Reference< report::XGroups> xGroups = m_pParent->getGroups();
+        for(const uno::Any& rGroup : _aGroups)
+        {
+            uno::Reference< report::XGroup> xGroup(rGroup,uno::UNO_QUERY);
+            if ( xGroup.is() )
             {
-                uno::Reference< report::XGroup> xGroup(rGroup,uno::UNO_QUERY);
-                if ( xGroup.is() )
-                {
-                    uno::Sequence< beans::PropertyValue > aArgs(1);
-                    aArgs[0].Name = PROPERTY_GROUP;
-                    aArgs[0].Value <<= xGroup;
-                    // we use this way to create undo actions
-                    m_pParent->m_pController->executeChecked(SID_GROUP_REMOVE,aArgs);
-                    aArgs.realloc(2);
-                    if ( nRow > xGroups->getCount() )
-                        nRow = xGroups->getCount();
-                    if ( _bSelect )
-                        SelectRow(nRow);
-                    aArgs[1].Name = PROPERTY_POSITIONY;
-                    aArgs[1].Value <<= nRow;
-                    m_pParent->m_pController->executeChecked(SID_GROUP_APPEND,aArgs);
-                    ++nRow;
-                }
+                uno::Sequence< beans::PropertyValue > aArgs(1);
+                aArgs[0].Name = PROPERTY_GROUP;
+                aArgs[0].Value <<= xGroup;
+                // we use this way to create undo actions
+                m_pParent->m_pController->executeChecked(SID_GROUP_REMOVE,aArgs);
+                aArgs.realloc(2);
+                if ( nRow > xGroups->getCount() )
+                    nRow = xGroups->getCount();
+                if ( _bSelect )
+                    SelectRow(nRow);
+                aArgs[1].Name = PROPERTY_POSITIONY;
+                aArgs[1].Value <<= nRow;
+                m_pParent->m_pController->executeChecked(SID_GROUP_APPEND,aArgs);
+                ++nRow;
             }
         }
-        m_bIgnoreEvent = false;
-        Invalidate();
     }
+    m_bIgnoreEvent = false;
+    Invalidate();
 }
 
 void OFieldExpressionControl::fillColumns(const uno::Reference< container::XNameAccess>& _xColumns)
@@ -596,37 +596,37 @@ void OFieldExpressionControl::elementInserted(const container::ContainerEvent& e
     SolarMutexGuard aSolarGuard;
     ::osl::MutexGuard aGuard( m_aMutex );
     sal_Int32 nGroupPos = 0;
-    if ( evt.Accessor >>= nGroupPos )
+    if ( !(evt.Accessor >>= nGroupPos) )
+        return;
+
+    if ( nGroupPos >= GetRowCount() )
     {
-        if ( nGroupPos >= GetRowCount() )
-        {
-            sal_Int32 nAddedRows = nGroupPos - GetRowCount();
-            RowInserted(nAddedRows);
-            for (sal_Int32 i = 0; i < nAddedRows; ++i)
-                m_aGroupPositions.push_back(NO_GROUP);
-            m_aGroupPositions[nGroupPos] = nGroupPos;
-        }
-        else
+        sal_Int32 nAddedRows = nGroupPos - GetRowCount();
+        RowInserted(nAddedRows);
+        for (sal_Int32 i = 0; i < nAddedRows; ++i)
+            m_aGroupPositions.push_back(NO_GROUP);
+        m_aGroupPositions[nGroupPos] = nGroupPos;
+    }
+    else
+    {
+        ::std::vector<sal_Int32>::iterator aFind = m_aGroupPositions.begin()+ nGroupPos;
+        if ( aFind == m_aGroupPositions.end() )
+            aFind = ::std::find(m_aGroupPositions.begin(),m_aGroupPositions.end(),NO_GROUP);
+
+        if ( aFind != m_aGroupPositions.end() )
         {
-            ::std::vector<sal_Int32>::iterator aFind = m_aGroupPositions.begin()+ nGroupPos;
-            if ( aFind == m_aGroupPositions.end() )
-                aFind = ::std::find(m_aGroupPositions.begin(),m_aGroupPositions.end(),NO_GROUP);
+            if ( *aFind != NO_GROUP )
+                aFind = m_aGroupPositions.insert(aFind,nGroupPos);
+            else
+                *aFind = nGroupPos;
 
-            if ( aFind != m_aGroupPositions.end() )
-            {
+            ::std::vector<sal_Int32>::const_iterator aEnd  = m_aGroupPositions.end();
+            for(++aFind;aFind != aEnd;++aFind)
                 if ( *aFind != NO_GROUP )
-                    aFind = m_aGroupPositions.insert(aFind,nGroupPos);
-                else
-                    *aFind = nGroupPos;
-
-                ::std::vector<sal_Int32>::const_iterator aEnd  = m_aGroupPositions.end();
-                for(++aFind;aFind != aEnd;++aFind)

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list