basic/source/classes/sbxmod.cxx                          |   12 +--
 basic/source/runtime/runtime.cxx                         |    2 
 desktop/source/lib/init.cxx                              |   27 +++++--
 forms/source/component/FormComponent.cxx                 |    2 
 forms/source/component/Grid.cxx                          |    2 
 forms/source/misc/InterfaceContainer.cxx                 |    2 
 forms/source/richtext/clipboarddispatcher.cxx            |    2 
 forms/source/richtext/richtextimplcontrol.cxx            |    2 
 forms/source/xforms/model.cxx                            |    2 
 forms/source/xforms/model_ui.cxx                         |    2 
 include/basic/sbmod.hxx                                  |    2 
 svx/source/accessibility/svxrectctaccessiblecontext.cxx  |    8 +-
 svx/source/dialog/connctrl.cxx                           |    2 
 svx/source/dialog/hdft.cxx                               |    2 
 svx/source/dialog/srchctrl.cxx                           |    2 
 svx/source/dialog/srchdlg.cxx                            |   10 ++
 svx/source/dialog/weldeditview.cxx                       |    2 
 svx/source/engine3d/view3d.cxx                           |    2 
 svx/source/engine3d/view3d1.cxx                          |   20 ++---
 svx/source/fmcomp/fmgridcl.cxx                           |    2 
 svx/source/fmcomp/gridctrl.cxx                           |    2 
 svx/source/form/datanavi.cxx                             |   55 +++++++--------
 svx/source/form/fmshimp.cxx                              |    1 
 svx/source/form/navigatortree.cxx                        |   10 +-
 svx/source/form/navigatortreemodel.cxx                   |    6 -
 svx/source/inc/fmexpl.hxx                                |    2 
 svx/source/items/numfmtsh.cxx                            |    6 -
 svx/source/sdr/contact/objectcontactofobjlistpainter.cxx |    2 
 svx/source/sdr/contact/viewcontact.cxx                   |    2 
 svx/source/svdraw/svdedtv.cxx                            |    3 
 svx/source/svdraw/svdedtv2.cxx                           |    3 
 svx/source/svdraw/svdmrkv.cxx                            |    5 +
 svx/source/svdraw/svdoedge.cxx                           |    1 
 svx/source/svdraw/svdouno.cxx                            |    2 
 svx/source/svdraw/svdpntv.cxx                            |    9 +-
 svx/source/svdraw/svdxcgv.cxx                            |    2 
 svx/source/tbxctrls/fontworkgallery.cxx                  |   10 +-
 svx/source/tbxctrls/grafctrl.cxx                         |    3 
 svx/source/tbxctrls/lboxctrl.cxx                         |    5 -
 svx/source/tbxctrls/linectrl.cxx                         |    2 
 svx/source/tbxctrls/tbcontrl.cxx                         |    8 +-
 41 files changed, 138 insertions(+), 108 deletions(-)

New commits:
commit 41590e7d1f8ee67c7d5c29c89a9b246c8c8f0f05
Author:     Caolán McNamara <caolan.mcnam...@collabora.com>
AuthorDate: Wed May 1 20:28:16 2024 +0100
Commit:     Caolán McNamara <caolan.mcnam...@collabora.com>
CommitDate: Thu May 2 09:24:11 2024 +0200

    WaE: C6011 Dereferencing NULL pointer warnings
    
    Change-Id: I8edb1fefe1b2b8a3db3ee8f3a0eed59c7f08a36e
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166863
    Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com>
    Tested-by: Jenkins

diff --git a/basic/source/classes/sbxmod.cxx b/basic/source/classes/sbxmod.cxx
index 59eb93f665c4..8ca156b1238a 100644
--- a/basic/source/classes/sbxmod.cxx
+++ b/basic/source/classes/sbxmod.cxx
@@ -1317,12 +1317,12 @@ void SbModule::ClearPrivateVars()
     }
 }
 
-void SbModule::implClearIfVarDependsOnDeletedBasic( SbxVariable* pVar, 
StarBASIC* pDeletedBasic )
+void SbModule::implClearIfVarDependsOnDeletedBasic(SbxVariable& rVar, 
StarBASIC* pDeletedBasic)
 {
-    if( pVar->SbxValue::GetType() != SbxOBJECT || dynamic_cast<const 
SbProcedureProperty*>( pVar) != nullptr )
+    if (rVar.SbxValue::GetType() != SbxOBJECT || dynamic_cast<const 
SbProcedureProperty*>(&rVar) != nullptr)
         return;
 
-    SbxObject* pObj = dynamic_cast<SbxObject*>( pVar->GetObject() );
+    SbxObject* pObj = dynamic_cast<SbxObject*>(rVar.GetObject());
     if( pObj == nullptr )
         return;
 
@@ -1337,7 +1337,7 @@ void SbModule::implClearIfVarDependsOnDeletedBasic( 
SbxVariable* pVar, StarBASIC
         StarBASIC* pBasic = dynamic_cast<StarBASIC*>( p  );
         if( pBasic != nullptr && pBasic == pDeletedBasic )
         {
-            pVar->SbxValue::Clear();
+            rVar.SbxValue::Clear();
             break;
         }
     }
@@ -1358,13 +1358,13 @@ void SbModule::ClearVarsDependingOnDeletedBasic( 
StarBASIC* pDeletedBasic )
                     for (sal_uInt32 j = 0; j < pArray->Count(); j++)
                     {
                         SbxVariable* pVar = pArray->Get(j);
-                        implClearIfVarDependsOnDeletedBasic( pVar, 
pDeletedBasic );
+                        implClearIfVarDependsOnDeletedBasic(*pVar, 
pDeletedBasic);
                     }
                 }
             }
             else
             {
-                implClearIfVarDependsOnDeletedBasic( p, pDeletedBasic );
+                implClearIfVarDependsOnDeletedBasic(*p, pDeletedBasic);
             }
         }
     }
diff --git a/basic/source/runtime/runtime.cxx b/basic/source/runtime/runtime.cxx
index b2f493689c0b..12d522790c38 100644
--- a/basic/source/runtime/runtime.cxx
+++ b/basic/source/runtime/runtime.cxx
@@ -682,6 +682,7 @@ void SbiRuntime::SetParameters( SbxArray* pParams )
             }
 
             SbxVariable* v = pParams->Get(i);
+            assert(v);
             // methods are always byval!
             bool bByVal = dynamic_cast<const SbxMethod *>(v) != nullptr;
             SbxDataType t = v->GetType();
@@ -3924,6 +3925,7 @@ void SbiRuntime::SetupArgs( SbxVariable* p, sal_uInt32 
nOp1 )
 
 SbxVariable* SbiRuntime::CheckArray( SbxVariable* pElem )
 {
+    assert(pElem);
     SbxArray* pPar;
     if( ( pElem->GetType() & SbxARRAY ) && refRedim.get() != pElem )
     {
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index a857dec6f3f5..ce1ba38334f6 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -882,7 +882,10 @@ void ExecuteMarginLRChange(
 {
     pPageLRMarginItem->SetLeft( nPageLeftMargin );
     pPageLRMarginItem->SetRight( nPageRightMargin );
-    
SfxViewShell::Current()->GetDispatcher()->ExecuteList(SID_ATTR_PAGE_LRSPACE,
+    SfxViewShell* pViewSh = SfxViewShell::Current();
+    if (!pViewSh)
+        return;
+    pViewSh->GetDispatcher()->ExecuteList(SID_ATTR_PAGE_LRSPACE,
             SfxCallMode::RECORD, { pPageLRMarginItem });
 }
 
@@ -894,8 +897,11 @@ void ExecuteMarginULChange(
 {
     pPageULMarginItem->SetUpper( nPageTopMargin );
     pPageULMarginItem->SetLower( nPageBottomMargin );
-    
SfxViewShell::Current()->GetDispatcher()->ExecuteList(SID_ATTR_PAGE_ULSPACE,
-                                                          SfxCallMode::RECORD, 
{ pPageULMarginItem });
+    SfxViewShell* pViewSh = SfxViewShell::Current();
+    if (!pViewSh)
+        return;
+    pViewSh->GetDispatcher()->ExecuteList(SID_ATTR_PAGE_ULSPACE,
+            SfxCallMode::RECORD, { pPageULMarginItem });
 }
 
 // Main function which toggles page orientation of the Writer doc. Needed by 
ToggleOrientation
@@ -943,9 +949,9 @@ void ExecuteOrientationChange()
 
 
         // apply changed attributes
-        if (SfxViewShell::Current())
+        if (SfxViewShell* pCurrent = SfxViewShell::Current())
         {
-            
SfxViewShell::Current()->GetDispatcher()->ExecuteList(SID_ATTR_PAGE_SIZE,
+            pCurrent->GetDispatcher()->ExecuteList(SID_ATTR_PAGE_SIZE,
                 SfxCallMode::RECORD, { pPageSizeItem.get(), pPageItem.get() });
         }
     }
@@ -4931,11 +4937,12 @@ class DispatchResultListener : public 
cppu::WeakImplHelper<css::frame::XDispatch
     const bool mbWasModified; //< Whether or not the document was modified 
before saving.
 
 public:
-    DispatchResultListener(const char* pCommand, 
std::shared_ptr<CallbackFlushHandler> pCallback)
+    DispatchResultListener(const char* pCommand, 
std::shared_ptr<CallbackFlushHandler> pCallback,
+                           bool bWasModified)
         : maCommand(pCommand)
         , mpCallback(std::move(pCallback))
         , mSaveTime(std::chrono::steady_clock::now())
-        , mbWasModified(SfxObjectShell::Current()->IsModified())
+        , mbWasModified(bWasModified)
     {
         assert(mpCallback);
     }
@@ -5337,7 +5344,8 @@ static void doc_postUnoCommand(LibreOfficeKitDocument* 
pThis, const char* pComma
     if (bNotifyWhenFinished && pDocument->mpCallbackFlushHandlers.count(nView))
     {
         bResult = comphelper::dispatchCommand(aCommand, 
comphelper::containerToSequence(aPropertyValuesVector),
-                new DispatchResultListener(pCommand, 
pDocument->mpCallbackFlushHandlers[nView]));
+                new DispatchResultListener(pCommand, 
pDocument->mpCallbackFlushHandlers[nView],
+                                           pDocSh->IsModified()));
     }
     else
         bResult = comphelper::dispatchCommand(aCommand, 
comphelper::containerToSequence(aPropertyValuesVector));
@@ -5813,8 +5821,11 @@ static int doc_getClipboard(LibreOfficeKitDocument* 
pThis,
 
     *pOutCount = aMimeTypes.size();
     *pOutSizes = static_cast<size_t *>(malloc(*pOutCount * sizeof(size_t)));
+    assert(*pOutSizes && "Don't handle OOM conditions");
     *pOutMimeTypes = static_cast<char **>(malloc(*pOutCount * sizeof(char *)));
+    assert(*pOutMimeTypes && "Don't handle OOM conditions");
     *pOutStreams = static_cast<char **>(malloc(*pOutCount * sizeof(char *)));
+    assert(*pOutStreams && "Don't handle OOM conditions");
     for (size_t i = 0; i < aMimeTypes.size(); ++i)
     {
         if (aMimeTypes[i] == "text/plain;charset=utf-16")
diff --git a/forms/source/component/FormComponent.cxx 
b/forms/source/component/FormComponent.cxx
index a5ae6c07cec4..600d7c9a9c9e 100644
--- a/forms/source/component/FormComponent.cxx
+++ b/forms/source/component/FormComponent.cxx
@@ -541,7 +541,7 @@ OControlModel::OControlModel( const OControlModel* 
_pOriginal, const Reference<
     ,m_nTabIndex( FRM_DEFAULT_TABINDEX )
     ,m_nClassId( FormComponentType::CONTROL )
 {
-    DBG_ASSERT( _pOriginal, "OControlModel::OControlModel: invalid original!" 
);
+    assert(_pOriginal && "OControlModel::OControlModel: invalid original!");
 
     // copy members
     m_aName = _pOriginal->m_aName;
diff --git a/forms/source/component/Grid.cxx b/forms/source/component/Grid.cxx
index 1290aa91af7f..724c5a4a240b 100644
--- a/forms/source/component/Grid.cxx
+++ b/forms/source/component/Grid.cxx
@@ -770,7 +770,7 @@ void OGridControlModel::write(const 
Reference<XObjectOutputStream>& _rxOutStream
     {
         // first the service name for the underlying model
         OGridColumn* pCol = 
comphelper::getFromUnoTunnel<OGridColumn>(m_aItems[i]);
-        DBG_ASSERT(pCol != nullptr, "OGridControlModel::write : such items 
should never reach it into my container !");
+        assert(pCol != nullptr && "OGridControlModel::write : such items 
should never reach it into my container !");
         _rxOutStream << pCol->getModelName();
         // then the object itself
         sal_Int32 nMark = xMark->createMark();
diff --git a/forms/source/misc/InterfaceContainer.cxx 
b/forms/source/misc/InterfaceContainer.cxx
index 90a918f5edcd..dba3d96ee405 100644
--- a/forms/source/misc/InterfaceContainer.cxx
+++ b/forms/source/misc/InterfaceContainer.cxx
@@ -768,7 +768,7 @@ void OInterfaceContainer::implInsert(sal_Int32 _nIndex, 
const Reference< XProper
     if ( !pElementMetaData )
     {   // not yet approved by the caller -> do ourself
         pElementMetaData = createElementMetaData();
-        DBG_ASSERT( pElementMetaData, "OInterfaceContainer::implInsert: 
createElementMetaData returned nonsense!" );
+        assert(pElementMetaData && "OInterfaceContainer::implInsert: 
createElementMetaData returned nonsense!");
 
         // ensure that the meta data structure will be deleted later on
         aAutoDeleteMetaData.reset( pElementMetaData );
diff --git a/forms/source/richtext/clipboarddispatcher.cxx 
b/forms/source/richtext/clipboarddispatcher.cxx
index 70313edb33c7..e11bd99c4595 100644
--- a/forms/source/richtext/clipboarddispatcher.cxx
+++ b/forms/source/richtext/clipboarddispatcher.cxx
@@ -155,7 +155,7 @@ namespace frm
 
     IMPL_LINK( OPasteClipboardDispatcher, OnClipboardChanged, 
TransferableDataHelper*, _pDataHelper, void )
     {
-        OSL_ENSURE( _pDataHelper, 
"OPasteClipboardDispatcher::OnClipboardChanged: ooops!" );
+        assert(_pDataHelper && "OPasteClipboardDispatcher::OnClipboardChanged: 
ooops!");
         m_bPastePossible = _pDataHelper->HasFormat( 
SotClipboardFormatId::STRING )
                         || _pDataHelper->HasFormat( SotClipboardFormatId::RTF )
                         || _pDataHelper->HasFormat( 
SotClipboardFormatId::RICHTEXT );
diff --git a/forms/source/richtext/richtextimplcontrol.cxx 
b/forms/source/richtext/richtextimplcontrol.cxx
index eeb9fba98d33..ba99314fd6ba 100644
--- a/forms/source/richtext/richtextimplcontrol.cxx
+++ b/forms/source/richtext/richtextimplcontrol.cxx
@@ -52,7 +52,7 @@ namespace frm
         ,m_bHasEverBeenShown    ( false               )
     {
         OSL_ENSURE( m_pAntiImpl, "RichTextControlImpl::RichTextControlImpl: 
invalid window!" );
-        OSL_ENSURE( m_pEngine,   "RichTextControlImpl::RichTextControlImpl: 
invalid edit engine! This will *definitely* crash!" );
+        assert(m_pEngine && "RichTextControlImpl::RichTextControlImpl: invalid 
edit engine! This will *definitely* crash!");
 
         m_pViewport = VclPtr<RichTextViewPort>::Create( m_pAntiImpl );
         m_pViewport->setAttributeInvalidationHandler( LINK( this, 
RichTextControlImpl, OnInvalidateAllAttributes ) );
diff --git a/forms/source/xforms/model.cxx b/forms/source/xforms/model.cxx
index bbb460f18267..fbb0de1ebdd8 100644
--- a/forms/source/xforms/model.cxx
+++ b/forms/source/xforms/model.cxx
@@ -359,7 +359,7 @@ bool Model::isValid() const
     for( sal_Int32 i = 0; bValid && i < nCount; i++ )
     {
         Binding* pBind = comphelper::getFromUnoTunnel<Binding>( 
mxBindings->Collection<XPropertySet_t>::getItem( i ) );
-        OSL_ENSURE( pBind != nullptr, "binding?" );
+        assert(pBind != nullptr && "binding?");
         bValid = pBind->isValid();
     }
     return bValid;
diff --git a/forms/source/xforms/model_ui.cxx b/forms/source/xforms/model_ui.cxx
index 5d56e8b3baa0..ad1da7a3ac3f 100644
--- a/forms/source/xforms/model_ui.cxx
+++ b/forms/source/xforms/model_ui.cxx
@@ -680,7 +680,7 @@ css::uno::Reference< ::css::beans::XPropertySet > 
Model::getBindingForNode( cons
         Binding* pBinding = comphelper::getFromUnoTunnel<Binding>(
             mxBindings->Collection<XPropertySet_t>::getItem( n ) );
 
-        OSL_ENSURE( pBinding != nullptr, "no binding?" );
+        assert(pBinding != nullptr && "no binding?");
         Reference<XNodeList> xNodeList = pBinding->getXNodeList();
 
         sal_Int32 nNodes = xNodeList.is() ? xNodeList->getLength() : 0;
diff --git a/include/basic/sbmod.hxx b/include/basic/sbmod.hxx
index 5c369b441f92..0463ae13f90f 100644
--- a/include/basic/sbmod.hxx
+++ b/include/basic/sbmod.hxx
@@ -55,7 +55,7 @@ class BASIC_DLLPUBLIC SbModule : public SbxObject
 
     std::vector< OUString > mModuleVariableNames;
 
-    BASIC_DLLPRIVATE static void implClearIfVarDependsOnDeletedBasic( 
SbxVariable* pVar, StarBASIC* pDeletedBasic );
+    BASIC_DLLPRIVATE static void 
implClearIfVarDependsOnDeletedBasic(SbxVariable& rVar, StarBASIC* 
pDeletedBasic);
 
     SbModule(const SbModule&) = delete;
     SbModule& operator=(const SbModule&) = delete;
diff --git a/svx/source/accessibility/svxrectctaccessiblecontext.cxx 
b/svx/source/accessibility/svxrectctaccessiblecontext.cxx
index 2ce9f857325a..80efbc4bd319 100644
--- a/svx/source/accessibility/svxrectctaccessiblecontext.cxx
+++ b/svx/source/accessibility/svxrectctaccessiblecontext.cxx
@@ -263,12 +263,12 @@ void SvxRectCtlAccessibleContext::implSelect(sal_Int64 
nIndex, bool bSelect)
 
     checkChildIndex( nIndex );
 
-    const ChildIndexToPointData*    pData = IndexToPoint( nIndex );
-
-    DBG_ASSERT(pData, "SvxRectCtlAccessibleContext::selectAccessibleChild(): 
this is an impossible state! Or at least should be...");
-
     if (mpRepr)
     {
+        const ChildIndexToPointData* pData = IndexToPoint(nIndex);
+
+        assert(pData && "SvxRectCtlAccessibleContext::selectAccessibleChild(): 
this is an impossible state! Or at least should be...");
+
         if (bSelect)
         {
             // this does all what is needed, including the change of the 
child's state!
diff --git a/svx/source/dialog/connctrl.cxx b/svx/source/dialog/connctrl.cxx
index c10bdd0fff7b..c7e1c31a6362 100644
--- a/svx/source/dialog/connctrl.cxx
+++ b/svx/source/dialog/connctrl.cxx
@@ -125,7 +125,7 @@ void SvxXConnectionPreview::AdaptSize()
 
 void SvxXConnectionPreview::Construct()
 {
-    DBG_ASSERT( pView, "No valid view is passed on! ");
+    assert(pView && "No valid view is passed on!");
 
     const SdrMarkList& rMarkList = pView->GetMarkedObjectList();
     const size_t nMarkCount = rMarkList.GetMarkCount();
diff --git a/svx/source/dialog/hdft.cxx b/svx/source/dialog/hdft.cxx
index 90c2f7450275..cc8758ad0422 100644
--- a/svx/source/dialog/hdft.cxx
+++ b/svx/source/dialog/hdft.cxx
@@ -324,7 +324,7 @@ void SvxHFPage::Reset( const SfxItemSet* rSet )
     ResetBackground_Impl( *rSet );
 
     SfxItemPool* pPool = GetItemSet().GetPool();
-    DBG_ASSERT( pPool, "Where is the pool" );
+    assert(pPool && "Where is the pool");
     MapUnit eUnit = pPool->GetMetric( GetWhich( SID_ATTR_PAGE_SIZE ) );
 
     // Evaluate header-/footer- attributes
diff --git a/svx/source/dialog/srchctrl.cxx b/svx/source/dialog/srchctrl.cxx
index 51c8d0333784..89315050d88e 100644
--- a/svx/source/dialog/srchctrl.cxx
+++ b/svx/source/dialog/srchctrl.cxx
@@ -53,7 +53,7 @@ void SvxSearchController::StateChangedAtToolBoxControl( 
sal_uInt16 nSID, SfxItem
         }
         else if ( SID_SEARCH_OPTIONS == nSID )
         {
-            DBG_ASSERT( dynamic_cast<const SfxUInt16Item* >(pState) !=  
nullptr, "wrong item type" );
+            assert(dynamic_cast<const SfxUInt16Item* >(pState) != nullptr && 
"wrong item type");
             SearchOptionFlags nFlags = 
static_cast<SearchOptionFlags>(static_cast<const 
SfxUInt16Item*>(pState)->GetValue());
             rSrchDlg.EnableControls_Impl( nFlags );
         }
diff --git a/svx/source/dialog/srchdlg.cxx b/svx/source/dialog/srchdlg.cxx
index 481124e3c963..363d6a4e7146 100644
--- a/svx/source/dialog/srchdlg.cxx
+++ b/svx/source/dialog/srchdlg.cxx
@@ -81,7 +81,13 @@ using namespace com::sun::star;
 using namespace comphelper;
 
 
-#define IS_MOBILE (comphelper::LibreOfficeKit::isActive() && 
SfxViewShell::Current() && SfxViewShell::Current()->isLOKMobilePhone())
+static bool IsMobile()
+{
+    if (!comphelper::LibreOfficeKit::isActive())
+        return false;
+    SfxViewShell* pCurrent = SfxViewShell::Current();
+    return pCurrent && pCurrent->isLOKMobilePhone();
+}
 
 enum class ModifyFlags {
     NONE         = 0x000000,
@@ -237,7 +243,7 @@ void SearchAttrItemList::Remove(size_t nPos)
 
 SvxSearchDialog::SvxSearchDialog(weld::Window* pParent, SfxChildWindow* 
pChildWin, SfxBindings& rBind)
     : SfxModelessDialogController(&rBind, pChildWin, pParent,
-                                  IS_MOBILE ? 
OUString("svx/ui/findreplacedialog-mobile.ui") : 
OUString("svx/ui/findreplacedialog.ui"),
+                                  IsMobile() ? 
OUString("svx/ui/findreplacedialog-mobile.ui") : 
OUString("svx/ui/findreplacedialog.ui"),
                                   "FindReplaceDialog")
     , rBindings(rBind)
     , m_aPresentIdle("Bring SvxSearchDialog to Foreground")
diff --git a/svx/source/dialog/weldeditview.cxx 
b/svx/source/dialog/weldeditview.cxx
index ceb09f37ff81..7adda3da17fa 100644
--- a/svx/source/dialog/weldeditview.cxx
+++ b/svx/source/dialog/weldeditview.cxx
@@ -1122,7 +1122,7 @@ static SfxItemState GetSvxEditEngineItemState(EditEngine 
const& rEditEngine, con
 
         for (const auto& rAttrib : aAttribs)
         {
-            OSL_ENSURE(rAttrib.pAttr, "GetCharAttribs gives corrupt data");
+            assert(rAttrib.pAttr && "GetCharAttribs gives corrupt data");
 
             const bool bEmptyPortion = (rAttrib.nStart == rAttrib.nEnd);
             if ((!bEmptyPortion && (rAttrib.nStart >= nEndPos))
diff --git a/svx/source/engine3d/view3d.cxx b/svx/source/engine3d/view3d.cxx
index 7cfe5edcfc94..6b0923d96015 100644
--- a/svx/source/engine3d/view3d.cxx
+++ b/svx/source/engine3d/view3d.cxx
@@ -1246,7 +1246,7 @@ bool E3dView::BegDragObj(const Point& rPnt, OutputDevice* 
pOut,
 // Set current 3D drawing object, create the scene for this
 rtl::Reference<E3dScene> E3dView::SetCurrent3DObj(E3dObject* p3DObj)
 {
-    DBG_ASSERT(p3DObj != nullptr, "Who puts in a NULL-pointer here");
+    assert(p3DObj != nullptr && "Who puts in a NULL-pointer here");
 
     // get transformed BoundVolume of the object
     basegfx::B3DRange aVolume(p3DObj->GetBoundVolume());
diff --git a/svx/source/engine3d/view3d1.cxx b/svx/source/engine3d/view3d1.cxx
index 64f0fba1f5c8..8ef11e54a650 100644
--- a/svx/source/engine3d/view3d1.cxx
+++ b/svx/source/engine3d/view3d1.cxx
@@ -62,29 +62,29 @@ void E3dView::ConvertMarkedToPolyObj()
     }
 }
 
-static void Imp_E3dView_InorderRun3DObjects(const SdrObject* pObj, sal_uInt32& 
rMask)
+static void Imp_E3dView_InorderRun3DObjects(const SdrObject& rObj, sal_uInt32& 
rMask)
 {
-    if(dynamic_cast< const E3dLatheObj* >(pObj) !=  nullptr)
+    if(dynamic_cast< const E3dLatheObj* >(&rObj) !=  nullptr)
     {
         rMask |= 0x0001;
     }
-    else if(dynamic_cast< const E3dExtrudeObj* >(pObj) !=  nullptr)
+    else if(dynamic_cast< const E3dExtrudeObj* >(&rObj) !=  nullptr)
     {
         rMask |= 0x0002;
     }
-    else if(dynamic_cast< const E3dSphereObj* >(pObj) !=  nullptr)
+    else if(dynamic_cast< const E3dSphereObj* >(&rObj) !=  nullptr)
     {
         rMask |= 0x0004;
     }
-    else if(dynamic_cast< const E3dCubeObj* >(pObj) !=  nullptr)
+    else if(dynamic_cast< const E3dCubeObj* >(&rObj) !=  nullptr)
     {
         rMask |= 0x0008;
     }
-    else if(pObj->IsGroupObject())
+    else if (rObj.IsGroupObject())
     {
-        SdrObjList* pList = pObj->GetSubList();
+        SdrObjList* pList = rObj.GetSubList();
         for (const rtl::Reference<SdrObject>& pChildObj : *pList)
-            Imp_E3dView_InorderRun3DObjects(pChildObj.get(), rMask);
+            Imp_E3dView_InorderRun3DObjects(*pChildObj, rMask);
     }
 }
 
@@ -108,7 +108,7 @@ SfxItemSet E3dView::Get3DAttributes() const
     for(size_t a = 0; a < nMarkCnt; ++a)
     {
         SdrObject* pObj = GetMarkedObjectByIndex(a);
-        Imp_E3dView_InorderRun3DObjects(pObj, nSelectedItems);
+        Imp_E3dView_InorderRun3DObjects(*pObj, nSelectedItems);
     }
 
     // Set SID_ATTR_3D_INTERN on the status of the selected objects
@@ -151,7 +151,7 @@ void E3dView::Set3DAttributes( const SfxItemSet& rAttr)
     for(size_t a = 0; a < nMarkCnt; ++a)
     {
         SdrObject* pObj = GetMarkedObjectByIndex(a);
-        Imp_E3dView_InorderRun3DObjects(pObj, nSelectedItems);
+        Imp_E3dView_InorderRun3DObjects(*pObj, nSelectedItems);
     }
 
     // Maintain default values
diff --git a/svx/source/fmcomp/fmgridcl.cxx b/svx/source/fmcomp/fmgridcl.cxx
index 2fe0a5430e03..e77ad64aa714 100644
--- a/svx/source/fmcomp/fmgridcl.cxx
+++ b/svx/source/fmcomp/fmgridcl.cxx
@@ -1760,7 +1760,7 @@ void FmGridControl::HideColumn(sal_uInt16 nId)
 
 bool FmGridControl::isColumnSelected(DbGridColumn const * _pColumn) const
 {
-    OSL_ENSURE(_pColumn,"Column can not be null!");
+    assert(_pColumn && "Column can not be null!");
     bool bSelected = false;
     // if the column which is shown here is selected ...
     Reference< css::view::XSelectionSupplier >  
xSelSupplier(GetPeer()->getColumns(), UNO_QUERY);
diff --git a/svx/source/fmcomp/gridctrl.cxx b/svx/source/fmcomp/gridctrl.cxx
index 627c41c5468d..dd66423e3298 100644
--- a/svx/source/fmcomp/gridctrl.cxx
+++ b/svx/source/fmcomp/gridctrl.cxx
@@ -3139,7 +3139,7 @@ sal_uInt16 DbGridControl::GetColumnIdFromModelPos( 
sal_uInt16 nPos ) const
             if ( m_aColumns[ i ]->IsHidden())
                 --nViewPos;
 
-        DBG_ASSERT(pCol && GetColumnIdFromViewPos(nViewPos) == pCol->GetId(),
+        DBG_ASSERT(GetColumnIdFromViewPos(nViewPos) == pCol->GetId(),
             "DbGridControl::GetColumnIdFromModelPos : this isn't consistent... 
did I misunderstand something ?");
     }
 #endif
diff --git a/svx/source/form/datanavi.cxx b/svx/source/form/datanavi.cxx
index 9116c0eb075f..04234870769d 100644
--- a/svx/source/form/datanavi.cxx
+++ b/svx/source/form/datanavi.cxx
@@ -451,7 +451,7 @@ namespace svxform
 
                     DBG_ASSERT( bEntry, "XFormsPage::DoToolBoxAction(): no 
entry" );
                     ItemNode* pParentNode = 
weld::fromId<ItemNode*>(m_xItemList->get_id(*xEntry));
-                    DBG_ASSERT( pParentNode, "XFormsPage::DoToolBoxAction(): 
no parent node" );
+                    assert(pParentNode && "XFormsPage::DoToolBoxAction(): no 
parent node");
                     xParentNode = pParentNode->m_xNode;
                     Reference< css::xml::dom::XNode > xNewNode;
                     if (rToolBoxID == u"addelement")
@@ -636,31 +636,34 @@ namespace svxform
                     {
                         // Set the new name
                         OUString sNewName;
-                        if ( DGTInstance == m_eGroup )
+                        if (pNode)
                         {
-                            try
+                            if ( DGTInstance == m_eGroup )
                             {
-                                sNewName = m_xUIHelper->getNodeDisplayName(
-                                    pNode->m_xNode, 
m_pNaviWin->IsShowDetails() );
-                            }
-                            catch ( Exception const & )
-                            {
-                                TOOLS_WARN_EXCEPTION( "svx.form", 
"XFormsPage::DoToolboxAction()" );
-                            }
-                        }
-                        else if (pNode)
-                        {
-                            try
-                            {
-                                OUString sTemp;
-                                pNode->m_xPropSet->getPropertyValue( 
PN_BINDING_ID ) >>= sTemp;
-                                sNewName += sTemp + ": ";
-                                pNode->m_xPropSet->getPropertyValue( 
PN_BINDING_EXPR ) >>= sTemp;
-                                sNewName += sTemp;
+                                try
+                                {
+                                    sNewName = m_xUIHelper->getNodeDisplayName(
+                                        pNode->m_xNode, 
m_pNaviWin->IsShowDetails() );
+                                }
+                                catch ( Exception const & )
+                                {
+                                    TOOLS_WARN_EXCEPTION( "svx.form", 
"XFormsPage::DoToolboxAction()" );
+                                }
                             }
-                            catch ( Exception const & )
+                            else
                             {
-                                TOOLS_WARN_EXCEPTION( "svx.form", 
"XFormsPage::DoToolboxAction()" );
+                                try
+                                {
+                                    OUString sTemp;
+                                    pNode->m_xPropSet->getPropertyValue( 
PN_BINDING_ID ) >>= sTemp;
+                                    sNewName += sTemp + ": ";
+                                    pNode->m_xPropSet->getPropertyValue( 
PN_BINDING_EXPR ) >>= sTemp;
+                                    sNewName += sTemp;
+                                }
+                                catch ( Exception const & )
+                                {
+                                    TOOLS_WARN_EXCEPTION( "svx.form", 
"XFormsPage::DoToolboxAction()" );
+                                }
                             }
                         }
 
@@ -887,7 +890,7 @@ namespace svxform
             Reference< css::xforms::XModel > xModel( m_xUIHelper, UNO_QUERY );
             DBG_ASSERT( xModel.is(), "XFormsPage::RemoveEntry(): no model" );
             ItemNode* pNode = 
weld::fromId<ItemNode*>(m_xItemList->get_id(*xEntry));
-            DBG_ASSERT( pNode, "XFormsPage::RemoveEntry(): no node" );
+            assert(pNode && "XFormsPage::RemoveEntry(): no node");
 
             if ( DGTInstance == m_eGroup )
             {
@@ -911,7 +914,7 @@ namespace svxform
                         bool bParent = m_xItemList->iter_parent(*xParent); 
(void)bParent;
                         assert(bParent && "XFormsPage::RemoveEntry(): no 
parent entry");
                         ItemNode* pParentNode = 
weld::fromId<ItemNode*>(m_xItemList->get_id(*xParent));
-                        DBG_ASSERT( pParentNode && pParentNode->m_xNode.is(), 
"XFormsPage::RemoveEntry(): no parent XNode" );
+                        assert(pParentNode && pParentNode->m_xNode.is() && 
"XFormsPage::RemoveEntry(): no parent XNode");
 
                         Reference< css::xml::dom::XNode > xPNode;
                         Reference< css::xml::dom::XNode > xNode =
@@ -1325,8 +1328,8 @@ namespace svxform
         ActivatePageHdl(sPageId);
 
         // get our frame
-        DBG_ASSERT( pBindings != nullptr,
-                    "DataNavigatorWindow::LoadModels(): no SfxBindings; can't 
get frame" );
+        assert(pBindings != nullptr &&
+                    "DataNavigatorWindow::LoadModels(): no SfxBindings; can't 
get frame");
         m_xFrame = 
pBindings->GetDispatcher()->GetFrame()->GetFrame().GetFrameInterface();
         DBG_ASSERT( m_xFrame.is(), "DataNavigatorWindow::LoadModels(): no 
frame" );
         // add frameaction listener
diff --git a/svx/source/form/fmshimp.cxx b/svx/source/form/fmshimp.cxx
index e55d01e3f6c6..a6332fa7749a 100644
--- a/svx/source/form/fmshimp.cxx
+++ b/svx/source/form/fmshimp.cxx
@@ -285,6 +285,7 @@ namespace
         for ( size_t i = 0; i < nMarkCount; ++i)
         {
             SdrObject* pCurrent = _rMarkList.GetMark( i )->GetMarkedSdrObj();
+            assert(pCurrent && "marked object will exist");
 
             std::optional<SdrObjListIter> oGroupIterator;
             if ( pCurrent->IsGroupObject() )
diff --git a/svx/source/form/navigatortree.cxx 
b/svx/source/form/navigatortree.cxx
index 8ee866edb8d3..9b5cc553182a 100644
--- a/svx/source/form/navigatortree.cxx
+++ b/svx/source/form/navigatortree.cxx
@@ -1288,7 +1288,7 @@ namespace svxform
 
 
         // set name
-        OUString aName = GenerateName(pNewFormData);
+        OUString aName = GenerateName(*pNewFormData);
         pNewFormData->SetText(aName);
 
         try
@@ -1366,21 +1366,21 @@ namespace svxform
         return pNewFormControlData;
     }
 
-    OUString NavigatorTree::GenerateName( FmEntryData const * pEntryData )
+    OUString NavigatorTree::GenerateName(const FmEntryData& rEntryData)
     {
         const sal_uInt16 nMaxCount = 99;
         OUString aNewName;
 
         // create base name
         OUString aBaseName;
-        if( dynamic_cast<const FmFormData*>( pEntryData) !=  nullptr )
+        if( dynamic_cast<const FmFormData*>(&rEntryData) !=  nullptr )
             aBaseName = SvxResId( RID_STR_STDFORMNAME );
-        else if( dynamic_cast<const FmControlData*>( pEntryData) !=  nullptr )
+        else if( dynamic_cast<const FmControlData*>(&rEntryData) !=  nullptr )
             aBaseName = SvxResId( RID_STR_CONTROL );
 
 
         // create new name
-        FmFormData* pFormParentData = 
static_cast<FmFormData*>(pEntryData->GetParent());
+        FmFormData* pFormParentData = 
static_cast<FmFormData*>(rEntryData.GetParent());
 
         for( sal_Int32 i=0; i<nMaxCount; i++ )
         {
diff --git a/svx/source/form/navigatortreemodel.cxx 
b/svx/source/form/navigatortreemodel.cxx
index 2311c22c30bb..e962f13f57c8 100644
--- a/svx/source/form/navigatortreemodel.cxx
+++ b/svx/source/form/navigatortreemodel.cxx
@@ -791,7 +791,6 @@ namespace svxform
             // an empty list causes NavigatorTree to remove his selection
     }
 
-
     void NavigatorTreeModel::UpdateContent( const Reference< css::form::XForms 
> & xForms )
     {
 
@@ -809,11 +808,10 @@ namespace svxform
         if(!m_pFormShell) return;       // no shell
 
         FmFormView* pFormView = m_pFormShell->GetFormView();
-        DBG_ASSERT(pFormView != nullptr, "NavigatorTreeModel::UpdateContent : 
no FormView");
+        assert(pFormView != nullptr && "NavigatorTreeModel::UpdateContent : no 
FormView");
         BroadcastMarkedObjects(pFormView->GetMarkedObjectList());
     }
 
-
     void NavigatorTreeModel::UpdateContent( FmFormShell* pShell )
     {
 
@@ -854,7 +852,6 @@ namespace svxform
         }
     }
 
-
     Reference< XIndexContainer >  NavigatorTreeModel::GetFormComponents( 
FmFormData const * pFormData )
     {
 
@@ -865,7 +862,6 @@ namespace svxform
         return Reference< XIndexContainer > ();
     }
 
-
     bool NavigatorTreeModel::Rename( FmEntryData* pEntryData, const OUString& 
rNewText )
     {
 
diff --git a/svx/source/inc/fmexpl.hxx b/svx/source/inc/fmexpl.hxx
index aae83d41a2e4..c5d40e73b489 100644
--- a/svx/source/inc/fmexpl.hxx
+++ b/svx/source/inc/fmexpl.hxx
@@ -479,7 +479,7 @@ namespace svxform
         bool IsFormEntry(const weld::TreeIter& rEntry);
         bool IsFormComponentEntry(const weld::TreeIter& rEntry);
 
-        OUString GenerateName( FmEntryData const * pEntryData );
+        OUString GenerateName(const FmEntryData& rEntryData);
 
         NavigatorTreeModel*    GetNavModel() const { return m_pNavModel.get(); 
}
         std::unique_ptr<weld::TreeIter> FindEntry(FmEntryData* pEntryData);
diff --git a/svx/source/items/numfmtsh.cxx b/svx/source/items/numfmtsh.cxx
index aa9e668169cb..61e473d45cd0 100644
--- a/svx/source/items/numfmtsh.cxx
+++ b/svx/source/items/numfmtsh.cxx
@@ -776,8 +776,6 @@ short 
SvxNumberFormatShell::FillEListWithSysCurrencys(std::vector<OUString>& rLi
      */
     sal_uInt16 nMyType;
 
-    DBG_ASSERT(pCurFmtTable != nullptr, "unknown NumberFormat");
-
     sal_uInt32 nNFEntry;
     OUString aNewFormNInfo;
 
@@ -813,6 +811,7 @@ short 
SvxNumberFormatShell::FillEListWithSysCurrencys(std::vector<OUString>& rLi
 
     if (nCurCategory != SvNumFormatType::ALL)
     {
+        assert(pCurFmtTable != nullptr && "unknown NumberFormat");
         for (const auto& rEntry : *pCurFmtTable)
         {
             sal_uInt32 nKey = rEntry.first;
@@ -858,8 +857,6 @@ short 
SvxNumberFormatShell::FillEListWithUserCurrencys(std::vector<OUString>& rL
      */
     sal_uInt16 nMyType;
 
-    DBG_ASSERT(pCurFmtTable != nullptr, "unknown NumberFormat");
-
     OUString aNewFormNInfo;
 
     const NfCurrencyEntry* pTmpCurrencyEntry;
@@ -905,6 +902,7 @@ short 
SvxNumberFormatShell::FillEListWithUserCurrencys(std::vector<OUString>& rL
         rShortSymbol = pTmpCurrencyEntry->BuildSymbolString(bTmpBanking, true);
     }
 
+    assert(pCurFmtTable != nullptr && "unknown NumberFormat");
     for (const auto& rEntry : *pCurFmtTable)
     {
         sal_uInt32 nKey = rEntry.first;
diff --git a/svx/source/sdr/contact/objectcontactofobjlistpainter.cxx 
b/svx/source/sdr/contact/objectcontactofobjlistpainter.cxx
index d20b1426e63b..475a3913d3ed 100644
--- a/svx/source/sdr/contact/objectcontactofobjlistpainter.cxx
+++ b/svx/source/sdr/contact/objectcontactofobjlistpainter.cxx
@@ -51,7 +51,7 @@ sal_uInt32 
ObjectContactOfObjListPainter::GetPaintObjectCount() const
 ViewContact& 
ObjectContactOfObjListPainter::GetPaintObjectViewContact(sal_uInt32 nIndex)
 {
     const SdrObject* pObj = maStartObjects[nIndex];
-    DBG_ASSERT(pObj, "ObjectContactOfObjListPainter: Corrupt SdrObjectVector 
(!)");
+    assert(pObj && "ObjectContactOfObjListPainter: Corrupt SdrObjectVector 
(!)");
     return pObj->GetViewContact();
 }
 
diff --git a/svx/source/sdr/contact/viewcontact.cxx 
b/svx/source/sdr/contact/viewcontact.cxx
index fcc9a6975380..e5a3b00d4d12 100644
--- a/svx/source/sdr/contact/viewcontact.cxx
+++ b/svx/source/sdr/contact/viewcontact.cxx
@@ -73,7 +73,7 @@ ViewObjectContact& 
ViewContact::GetViewObjectContact(ObjectContact& rObjectConta
     for (sal_uInt32 a(0); !pRetval && a < nCount; a++)
     {
         ViewObjectContact* pCandidate = maViewObjectContactVector[a];
-        DBG_ASSERT(pCandidate, "Corrupted ViewObjectContactList (!)");
+        assert(pCandidate && "Corrupted ViewObjectContactList (!)");
 
         if (&(pCandidate->GetObjectContact()) == &rObjectContact)
         {
diff --git a/svx/source/svdraw/svdedtv.cxx b/svx/source/svdraw/svdedtv.cxx
index be6fd1fd85f0..f912f6c5b9e4 100644
--- a/svx/source/svdraw/svdedtv.cxx
+++ b/svx/source/svdraw/svdedtv.cxx
@@ -147,6 +147,7 @@ bool SdrEditView::ImpDelLayerCheck(SdrObjList const * pOL, 
SdrLayerID nDelID) co
     {
         nObjNum--;
         SdrObject* pObj = pOL->GetObj(nObjNum);
+        assert(pObj);
         SdrObjList* pSubOL = pObj->GetSubList();
 
         // explicitly test for group objects and 3d scenes
@@ -181,6 +182,7 @@ void SdrEditView::ImpDelLayerDelObjs(SdrObjList* pOL, 
SdrLayerID nDelID)
     {
         nObjNum--;
         SdrObject* pObj = pOL->GetObj(nObjNum);
+        assert(pObj);
         SdrObjList* pSubOL = pObj->GetSubList();
 
 
@@ -246,6 +248,7 @@ void SdrEditView::DeleteLayer(const OUString& rName)
             {
                 nObjNum--;
                 SdrObject* pObj = pPage->GetObj(nObjNum);
+                assert(pObj);
                 SdrObjList* pSubOL = pObj->GetSubList();
 
                 // explicitly test for group objects and 3d scenes
diff --git a/svx/source/svdraw/svdedtv2.cxx b/svx/source/svdraw/svdedtv2.cxx
index 8ef7afa195cb..4b50b63f87ca 100644
--- a/svx/source/svdraw/svdedtv2.cxx
+++ b/svx/source/svdraw/svdedtv2.cxx
@@ -116,6 +116,7 @@ void SdrEditView::MovMarkedToTop()
         bool bEnd=false;
         while (nCmpPos<nNewPos && !bEnd)
         {
+            assert(pOL);
             SdrObject* pCmpObj=pOL->GetObj(nCmpPos);
             if (pCmpObj==nullptr)
             {
@@ -206,6 +207,7 @@ void SdrEditView::MovMarkedToBtm()
         // it (multiple selection).
         while (nCmpPos>nNewPos && !bEnd)
         {
+            assert(pOL);
             SdrObject* pCmpObj=pOL->GetObj(nCmpPos);
             if (pCmpObj==nullptr)
             {
@@ -1743,6 +1745,7 @@ void SdrEditView::DismantleMarkedObjects(bool bMakeLines)
         SdrObjList* pOL=pObj->getParentSdrObjListFromSdrObject();
         if (pOL!=pOL0) { pOL0=pOL; pObj->GetOrdNum(); } // make sure OrdNums 
are correct!
         if (ImpCanDismantle(pObj,bMakeLines)) {
+            assert(pOL);
             aRemoveBuffer.InsertEntry(SdrMark(pObj,pM->GetPageView()));
             const size_t nPos0=pObj->GetOrdNumDirect();
             size_t nPos=nPos0+1;
diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx
index d2b85d32161a..c4c9f139f841 100644
--- a/svx/source/svdraw/svdmrkv.cxx
+++ b/svx/source/svdraw/svdmrkv.cxx
@@ -2035,7 +2035,7 @@ bool SdrMarkView::MarkNextObj(bool bPrev)
     if (nMarkCount!=0) {
         nChgMarkNum=bPrev ? 0 : nMarkCount-1;
         SdrMark* pM=GetSdrMarkByIndex(nChgMarkNum);
-        OSL_ASSERT(pM!=nullptr);
+        assert(pM != nullptr);
         if (pM->GetMarkedSdrObj() != nullptr)
             nSearchObjNum = pM->GetMarkedSdrObj()->GetNavigationPosition();
     }
@@ -2366,6 +2366,7 @@ bool SdrMarkView::getPossibleGridOffsetForPosition(
 
 SdrObject* SdrMarkView::CheckSingleSdrObjectHit(const Point& rPnt, sal_uInt16 
nTol, SdrObject* pObj, SdrPageView* pPV, SdrSearchOptions nOptions, const 
SdrLayerIDSet* pMVisLay) const
 {
+    assert(pObj);
     if(((nOptions & SdrSearchOptions::IMPISMASTER) && 
pObj->IsNotVisibleAsMaster()) || (!pObj->IsVisible()))
     {
         return nullptr;
@@ -2569,11 +2570,13 @@ SdrObject* SdrMarkView::PickObj(const Point& rPnt, 
short nTol, SdrPageView*& rpP
         if (ppRootObj!=nullptr) *ppRootObj=pObj;
         if (nOptions & SdrSearchOptions::DEEP) pObj=pHitObj;
         if (nOptions & SdrSearchOptions::TESTTEXTEDIT) {
+            assert(pPV);
             if (!pObj->HasTextEdit() || 
pPV->GetLockedLayers().IsSet(pObj->GetLayer())) {
                 pObj=nullptr;
             }
         }
         if (pObj!=nullptr && (nOptions & SdrSearchOptions::TESTMACRO)) {
+            assert(pPV);
             SdrObjMacroHitRec aHitRec;
             aHitRec.aPos=rPnt;
             aHitRec.nTol=nTol;
diff --git a/svx/source/svdraw/svdoedge.cxx b/svx/source/svdraw/svdoedge.cxx
index 4107b36149a9..948b39a1d3b5 100644
--- a/svx/source/svdraw/svdoedge.cxx
+++ b/svx/source/svdraw/svdoedge.cxx
@@ -2235,6 +2235,7 @@ bool SdrEdgeObj::ImpFindConnector(const Point& rPt, const 
SdrPageView& rPV, SdrO
         // issue: group objects on different layers return LayerID=0!
         no--;
         SdrObject* pObj=pOL->GetObj(no);
+        assert(pObj);
         if (bHasRequestedOrdNum)
         {
             if (pObj->GetOrdNumDirect() != 
static_cast<sal_uInt32>(requestedOrdNum))
diff --git a/svx/source/svdraw/svdouno.cxx b/svx/source/svdraw/svdouno.cxx
index 970fa60d370f..ab0f5e378d43 100644
--- a/svx/source/svdraw/svdouno.cxx
+++ b/svx/source/svdraw/svdouno.cxx
@@ -94,7 +94,7 @@ namespace
 {
     void lcl_ensureControlVisibility( SdrView const * _pView, const SdrUnoObj* 
_pObject, bool _bVisible )
     {
-        OSL_PRECOND( _pObject, "lcl_ensureControlVisibility: no object -> no 
survival!" );
+        assert(_pObject && "lcl_ensureControlVisibility: no object -> no 
survival!");
 
         SdrPageView* pPageView = _pView ? _pView->GetSdrPageView() : nullptr;
         DBG_ASSERT( pPageView, "lcl_ensureControlVisibility: no view found!" );
diff --git a/svx/source/svdraw/svdpntv.cxx b/svx/source/svdraw/svdpntv.cxx
index 09583787fa24..bf0c6eecdaa7 100644
--- a/svx/source/svdraw/svdpntv.cxx
+++ b/svx/source/svdraw/svdpntv.cxx
@@ -513,7 +513,7 @@ void SdrPaintView::CompleteRedraw(OutputDevice* pOut, const 
vcl::Region& rReg, s
     }
 
     SdrPaintWindow* pPaintWindow = BeginCompleteRedraw(pOut);
-    OSL_ENSURE(pPaintWindow, "SdrPaintView::CompleteRedraw: No OutDev (!)");
+    assert(pPaintWindow && "SdrPaintView::CompleteRedraw: No OutDev (!)");
 
     DoCompleteRedraw(*pPaintWindow, aOptimizedRepaintRegion, pRedirector);
     EndCompleteRedraw(*pPaintWindow, true);
@@ -576,7 +576,7 @@ void SdrPaintView::CompleteRedraw(OutputDevice* pOut, const 
vcl::Region& rReg, s
 
 SdrPaintWindow* SdrPaintView::BeginCompleteRedraw(OutputDevice* pOut)
 {
-    OSL_ENSURE(pOut, "SdrPaintView::BeginCompleteRedraw: No OutDev (!)");
+    assert(pOut && "SdrPaintView::BeginCompleteRedraw: No OutDev (!)");
     SdrPaintWindow* pPaintWindow = FindPaintWindow(*pOut);
 
     if(pPaintWindow)
@@ -672,12 +672,11 @@ void SdrPaintView::EndCompleteRedraw(SdrPaintWindow& 
rPaintWindow, bool bPaintFo
     }
 }
 
-
 SdrPaintWindow* SdrPaintView::BeginDrawLayers(OutputDevice* pOut, const 
vcl::Region& rReg, bool bDisableIntersect)
 {
     // #i74769# use BeginCompleteRedraw() as common base
     SdrPaintWindow* pPaintWindow = BeginCompleteRedraw(pOut);
-    OSL_ENSURE(pPaintWindow, "SdrPaintView::BeginDrawLayers: No SdrPaintWindow 
(!)");
+    assert(pPaintWindow && "SdrPaintView::BeginDrawLayers: No SdrPaintWindow 
(!)");
 
     if(mpPageView)
     {
@@ -713,7 +712,7 @@ void SdrPaintView::EndDrawLayers(SdrPaintWindow& 
rPaintWindow, bool bPaintFormLa
 void SdrPaintView::UpdateDrawLayersRegion(const OutputDevice* pOut, const 
vcl::Region& rReg)
 {
     SdrPaintWindow* pPaintWindow = FindPaintWindow(*pOut);
-    OSL_ENSURE(pPaintWindow, "SdrPaintView::UpdateDrawLayersRegion: No 
SdrPaintWindow (!)");
+    assert(pPaintWindow && "SdrPaintView::UpdateDrawLayersRegion: No 
SdrPaintWindow (!)");
 
     if(mpPageView)
     {
diff --git a/svx/source/svdraw/svdxcgv.cxx b/svx/source/svdraw/svdxcgv.cxx
index 5d16cbae2598..573822b48f21 100644
--- a/svx/source/svdraw/svdxcgv.cxx
+++ b/svx/source/svdraw/svdxcgv.cxx
@@ -739,6 +739,8 @@ std::unique_ptr<SdrModel> 
SdrExchangeView::CreateMarkedObjModel() const
 
     for(SdrObject* pObj : aSdrObjects)
     {
+        assert(pObj);
+
         rtl::Reference<SdrObject> pNewObj;
 
         if(nullptr != dynamic_cast< const SdrPageObj* >(pObj))
diff --git a/svx/source/tbxctrls/fontworkgallery.cxx 
b/svx/source/tbxctrls/fontworkgallery.cxx
index 2f4e55037229..416595c96b5d 100644
--- a/svx/source/tbxctrls/fontworkgallery.cxx
+++ b/svx/source/tbxctrls/fontworkgallery.cxx
@@ -225,16 +225,16 @@ void FontWorkGalleryDialog::insertSelectedFontwork()
     Point aPagePos;
     Size aFontworkSize = aObjRect.GetSize();
 
-    if (comphelper::LibreOfficeKit::isActive())
+    SfxViewShell* pKitViewShell = comphelper::LibreOfficeKit::isActive() ?
+        SfxViewShell::Current() : nullptr;
+    if (pKitViewShell)
     {
-        SfxViewShell* pViewShell = SfxViewShell::Current();
-
-        aPagePos = pViewShell->getLOKVisibleArea().Center();
+        aPagePos = pKitViewShell->getLOKVisibleArea().Center();
 
         aPagePos.setX(convertTwipToMm100(aPagePos.X()));
         aPagePos.setY(convertTwipToMm100(aPagePos.Y()));
 
-        sal_Int32 nLOKViewWidth = 0.8 * 
convertTwipToMm100(pViewShell->getLOKVisibleArea().getOpenWidth());
+        sal_Int32 nLOKViewWidth = 0.8 * 
convertTwipToMm100(pKitViewShell->getLOKVisibleArea().getOpenWidth());
         if (aFontworkSize.getWidth() > nLOKViewWidth)
         {
             double fScale = static_cast<double>(aFontworkSize.getWidth()) / 
nLOKViewWidth;
diff --git a/svx/source/tbxctrls/grafctrl.cxx b/svx/source/tbxctrls/grafctrl.cxx
index 4b707430ae38..39e974fa0c2a 100644
--- a/svx/source/tbxctrls/grafctrl.cxx
+++ b/svx/source/tbxctrls/grafctrl.cxx
@@ -640,7 +640,8 @@ void SvxGrafAttrHelper::ExecuteGrafAttr( SfxRequest& rReq, 
SdrView& rView )
                     aCropDlgAttr.Put( SdrGrafCropItem( aLTSize.Width(), 
aLTSize.Height(),
                                                     aRBSize.Width(), 
aRBSize.Height() ) );
 
-                    vcl::Window* pParent(SfxViewShell::Current() ? 
SfxViewShell::Current()->GetWindow() : nullptr);
+                    SfxViewShell* pCurrentSh = SfxViewShell::Current();
+                    vcl::Window* pParent(pCurrentSh ? pCurrentSh->GetWindow() 
: nullptr);
                     SfxSingleTabDialogController aCropDialog(pParent ? 
pParent->GetFrameWeld() : nullptr,
                         &aCropDlgAttr);
                     const OUString aCropStr(SvxResId(RID_SVXSTR_GRAFCROP));
diff --git a/svx/source/tbxctrls/lboxctrl.cxx b/svx/source/tbxctrls/lboxctrl.cxx
index 24b89e8ed648..6b0a3e32e43c 100644
--- a/svx/source/tbxctrls/lboxctrl.cxx
+++ b/svx/source/tbxctrls/lboxctrl.cxx
@@ -242,12 +242,13 @@ void SvxUndoRedoControl::initialize( const 
css::uno::Sequence< css::uno::Any >&
 
     if (getModuleName() != "com.sun.star.script.BasicIDE")
     {
-        if (pToolBox)
-            pToolBox->SetItemBits(nId, ToolBoxItemBits::DROPDOWN | 
pToolBox->GetItemBits(nId));
         if (m_pToolbar)
             aDefaultTooltip = m_pToolbar->get_item_tooltip_text(m_aCommandURL);
         else
+        {
+            pToolBox->SetItemBits(nId, ToolBoxItemBits::DROPDOWN | 
pToolBox->GetItemBits(nId));
             aDefaultTooltip = pToolBox->GetQuickHelpText(nId);
+        }
     }
 }
 
diff --git a/svx/source/tbxctrls/linectrl.cxx b/svx/source/tbxctrls/linectrl.cxx
index f13d45c0239b..b1264a5a8f67 100644
--- a/svx/source/tbxctrls/linectrl.cxx
+++ b/svx/source/tbxctrls/linectrl.cxx
@@ -383,7 +383,7 @@ void SvxLineEndWindow::FillValueSet()
     for( tools::Long i = 0; i < nCount; i++ )
     {
         pEntry = mpLineEndList->GetLineEnd( i );
-        DBG_ASSERT( pEntry, "Could not access LineEndEntry" );
+        assert(pEntry && "Could not access LineEndEntry");
         aBmp = mpLineEndList->GetUiBitmap( i );
         OSL_ENSURE( !aBmp.IsEmpty(), "UI bitmap was not created" );
 
diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx
index 4a366730b76d..71d7726fbc3b 100644
--- a/svx/source/tbxctrls/tbcontrl.cxx
+++ b/svx/source/tbxctrls/tbcontrl.cxx
@@ -1680,9 +1680,9 @@ static bool lcl_GetDocFontList(const FontList** 
ppFontList, SvxFontNameBox_Base*
             // When you change the font list in the Doc, you can track
             // changes here only on the Listbox, because ppFontList
             // has already been updated.
-            bChanged =
-                ( ( *ppFontList != pNewFontList ) ||
-                  pBox->GetListCount() != pNewFontList->GetFontNameCount() );
+            bChanged = !pNewFontList ||
+                       *ppFontList != pNewFontList ||
+                       pBox->GetListCount() != 
pNewFontList->GetFontNameCount();
             // HACK: Comparing is incomplete
 
             if ( bChanged )
@@ -1707,7 +1707,7 @@ static bool lcl_GetDocFontList(const FontList** 
ppFontList, SvxFontNameBox_Base*
     // Fill the FontBox, also the new list if necessary
     if ( pBox && bChanged )
     {
-        if ( *ppFontList )
+        if (ppFontList && *ppFontList)
             pBox->Fill( *ppFontList );
         else
             pBox->Clear();

Reply via email to