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();