diff options
author | Michael Stahl <mstahl@redhat.com> | 2017-02-07 22:48:33 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2017-02-07 23:02:57 +0100 |
commit | 653e181fb831a04c2845d99f79f72454a88bb948 (patch) | |
tree | 3ec424e8c21f15573226f7f40eb9bd7e97f49107 | |
parent | 32cae6a2eaa41568888df9c8fc5605debd8d704a (diff) |
Revert "remove ugly operator* in DynamicErrorInfo"
This reverts commit b5e3f8a5fa98a249ecd50021c33cf2a5c7a3b4fc.
The problem is this:
==24217== Conditional jump or move depends on uninitialised value(s)
==24217== at 0x29A25FCE: SfxObjectShell::SetError(unsigned int, rtl::OUString const&) (objmisc.cxx:220)
==24217== by 0x29A35E6E: SfxObjectShell::ImportFrom(SfxMedium&, com::sun::star::uno::Reference<com::sun::star::text::XTextRange> const&) (objstor.cxx:2300)
==24217== by 0x29A3705C: SfxObjectShell::DoLoad(SfxMedium*) (objstor.cxx:765)
==24217== by 0x29A6BC48:
SfxBaseModel::load(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (sfxbasemodel.cxx:1802)
The commit is bogus because it introduces a
DynamicErrorInfo::GetErrorCode(), which overloads
ErrorInfo::GetErrorCode(), which is used at least in
DynamicErrorInfo_Impl::RegisterEDcr() and used to return a constructor
argument of DynamicErrorInfo but now returns pImpl->lErrId,
which is what this statement is trying to initialize.
Ultimately this causes my clang+ASAN build to fail because the
uninitialized error code happens to be detected as a mere Warning:
Test name: testMathMalformedXml::Import
assertion failed
- Expression: !xComponent.is()
- loading succeeded: sw/qa/extras/ooxmlimport/data/math-malformed_xml.docx
Change-Id: I9141144e0bc356ee54279948f2fce036d1831a86
-rw-r--r-- | basic/source/basmgr/basmgr.cxx | 20 | ||||
-rw-r--r-- | basic/source/classes/sb.cxx | 6 | ||||
-rw-r--r-- | cui/source/options/optdict.cxx | 4 | ||||
-rw-r--r-- | cui/source/tabpages/backgrnd.cxx | 4 | ||||
-rw-r--r-- | editeng/source/misc/splwrap.cxx | 4 | ||||
-rw-r--r-- | include/tools/errinf.hxx | 2 | ||||
-rw-r--r-- | sc/source/filter/xml/xmlwrap.cxx | 8 | ||||
-rw-r--r-- | sc/source/ui/docshell/docsh.cxx | 4 | ||||
-rw-r--r-- | sc/source/ui/docshell/docsh8.cxx | 6 | ||||
-rw-r--r-- | sd/source/filter/xml/sdxmlwrp.cxx | 8 | ||||
-rw-r--r-- | sd/source/ui/func/fuinsert.cxx | 3 | ||||
-rw-r--r-- | sd/source/ui/view/viewshe2.cxx | 2 | ||||
-rw-r--r-- | sfx2/source/doc/objstor.cxx | 4 | ||||
-rw-r--r-- | sw/source/filter/html/swhtml.cxx | 4 | ||||
-rw-r--r-- | sw/source/filter/xml/swxml.cxx | 8 | ||||
-rw-r--r-- | sw/source/filter/xml/wrtxml.cxx | 8 | ||||
-rw-r--r-- | sw/source/uibase/misc/glosdoc.cxx | 8 | ||||
-rw-r--r-- | sw/source/uibase/uiview/viewling.cxx | 2 | ||||
-rw-r--r-- | tools/source/ref/errinf.cxx | 6 |
19 files changed, 56 insertions, 55 deletions
diff --git a/basic/source/basmgr/basmgr.cxx b/basic/source/basmgr/basmgr.cxx index 286a9c4f5d25..9b0c92a850fc 100644 --- a/basic/source/basmgr/basmgr.cxx +++ b/basic/source/basmgr/basmgr.cxx @@ -634,10 +634,10 @@ BasicManager::BasicManager( StarBASIC* pSLib, OUString* pLibPath, bool bDocMgr ) void BasicManager::ImpMgrNotLoaded( const OUString& rStorageName ) { - // pErrInf is only destroyed if the error is processed by an + // pErrInf is only destroyed if the error os processed by an // ErrorHandler StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_MGROPEN, rStorageName, ERRCODE_BUTTON_OK ); - aErrors.push_back(BasicError(pErrInf->GetErrorCode(), BasicErrorReason::OPENMGRSTREAM)); + aErrors.push_back(BasicError(*pErrInf, BasicErrorReason::OPENMGRSTREAM)); // Create a stdlib otherwise we crash! BasicLibInfo* pStdLibInfo = CreateLibInfo(); @@ -777,7 +777,7 @@ void BasicManager::LoadOldBasicManager( SotStorage& rStorage ) if (!ImplLoadBasic( *xManagerStream, mpImpl->aLibs.front()->GetLibRef() )) { StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_MGROPEN, aStorName, ERRCODE_BUTTON_OK ); - aErrors.push_back(BasicError(pErrInf->GetErrorCode(), BasicErrorReason::OPENMGRSTREAM)); + aErrors.push_back(BasicError(*pErrInf, BasicErrorReason::OPENMGRSTREAM)); // and it proceeds ... } xManagerStream->Seek( nBasicEndOff+1 ); // +1: 0x00 as separator @@ -825,7 +825,7 @@ void BasicManager::LoadOldBasicManager( SotStorage& rStorage ) else { StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_LIBLOAD, aStorName, ERRCODE_BUTTON_OK ); - aErrors.push_back(BasicError(pErrInf->GetErrorCode(), BasicErrorReason::STORAGENOTFOUND)); + aErrors.push_back(BasicError(*pErrInf, BasicErrorReason::STORAGENOTFOUND)); } } } @@ -908,7 +908,7 @@ bool BasicManager::ImpLoadLibrary( BasicLibInfo* pLibInfo, SotStorage* pCurStora if ( !xBasicStorage.is() || xBasicStorage->GetError() ) { StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_MGROPEN, xStorage->GetName(), ERRCODE_BUTTON_OK ); - aErrors.push_back(BasicError(pErrInf->GetErrorCode(), BasicErrorReason::OPENLIBSTORAGE)); + aErrors.push_back(BasicError(*pErrInf, BasicErrorReason::OPENLIBSTORAGE)); } else { @@ -917,7 +917,7 @@ bool BasicManager::ImpLoadLibrary( BasicLibInfo* pLibInfo, SotStorage* pCurStora if ( !xBasicStream.is() || xBasicStream->GetError() ) { StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_LIBLOAD , pLibInfo->GetLibName(), ERRCODE_BUTTON_OK ); - aErrors.push_back(BasicError(pErrInf->GetErrorCode(), BasicErrorReason::OPENLIBSTREAM)); + aErrors.push_back(BasicError(*pErrInf, BasicErrorReason::OPENLIBSTREAM)); } else { @@ -940,7 +940,7 @@ bool BasicManager::ImpLoadLibrary( BasicLibInfo* pLibInfo, SotStorage* pCurStora if ( !bLoaded ) { StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_LIBLOAD, pLibInfo->GetLibName(), ERRCODE_BUTTON_OK ); - aErrors.push_back(BasicError(pErrInf->GetErrorCode(), BasicErrorReason::BASICLOADERROR)); + aErrors.push_back(BasicError(*pErrInf, BasicErrorReason::BASICLOADERROR)); } else { @@ -1124,7 +1124,7 @@ bool BasicManager::RemoveLib( sal_uInt16 nLib, bool bDelBasicFromStorage ) if( !nLib || nLib < mpImpl->aLibs.size() ) { StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_REMOVELIB, OUString(), ERRCODE_BUTTON_OK ); - aErrors.push_back(BasicError(pErrInf->GetErrorCode(), BasicErrorReason::STDLIB)); + aErrors.push_back(BasicError(*pErrInf, BasicErrorReason::STDLIB)); return false; } @@ -1160,7 +1160,7 @@ bool BasicManager::RemoveLib( sal_uInt16 nLib, bool bDelBasicFromStorage ) if ( !xBasicStorage.is() || xBasicStorage->GetError() ) { StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_REMOVELIB, OUString(), ERRCODE_BUTTON_OK ); - aErrors.push_back(BasicError(pErrInf->GetErrorCode(), BasicErrorReason::OPENLIBSTORAGE)); + aErrors.push_back(BasicError(*pErrInf, BasicErrorReason::OPENLIBSTORAGE)); } else if (xBasicStorage->IsStream((*itLibInfo)->GetLibName())) { @@ -1295,7 +1295,7 @@ bool BasicManager::LoadLib( sal_uInt16 nLib ) else { StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_LIBLOAD, OUString(), ERRCODE_BUTTON_OK ); - aErrors.push_back(BasicError(pErrInf->GetErrorCode(), BasicErrorReason::LIBNOTFOUND)); + aErrors.push_back(BasicError(*pErrInf, BasicErrorReason::LIBNOTFOUND)); } return bDone; } diff --git a/basic/source/classes/sb.cxx b/basic/source/classes/sb.cxx index 74cec84f634c..60d71c79a445 100644 --- a/basic/source/classes/sb.cxx +++ b/basic/source/classes/sb.cxx @@ -1663,7 +1663,7 @@ bool StarBASIC::CError( SbError code, const OUString& rMsg, // Implementation of the code for the string transport to SFX-Error if( !rMsg.isEmpty() ) { - code = (SbError)(new StringErrorInfo( code, rMsg ))->GetErrorCode(); + code = (SbError)*new StringErrorInfo( code, rMsg ); } SetErrorData( code, l, c1, c2 ); GetSbData()->bCompilerError = true; @@ -1702,11 +1702,11 @@ bool StarBASIC::RTError( SbError code, const OUString& rMsg, sal_Int32 l, sal_In { OUString aTmp = "\'" + OUString::number(SbxErrObject::getUnoErrObject()->getNumber()) + "\'\n" + OUString(!GetSbData()->aErrMsg.isEmpty() ? GetSbData()->aErrMsg : rMsg); - code = (SbError)(new StringErrorInfo( code, aTmp ))->GetErrorCode(); + code = (SbError)*new StringErrorInfo( code, aTmp ); } else { - code = (SbError)(new StringErrorInfo( code, rMsg ))->GetErrorCode(); + code = (SbError)*new StringErrorInfo( code, rMsg ); } } diff --git a/cui/source/options/optdict.cxx b/cui/source/options/optdict.cxx index 2747233af4e1..a28bd946c698 100644 --- a/cui/source/options/optdict.cxx +++ b/cui/source/options/optdict.cxx @@ -180,8 +180,8 @@ IMPL_LINK_NOARG(SvxNewDictionaryDialog, OKHdl_Impl, Button*, void) // error: couldn't create new dictionary SfxErrorContext aContext( ERRCTX_SVX_LINGU_DICTIONARY, OUString(), this, RID_SVXERRCTX, &CUI_MGR() ); - ErrorHandler::HandleError( (new StringErrorInfo( - ERRCODE_SVX_LINGU_DICT_NOTWRITEABLE, sDict ))->GetErrorCode() ); + ErrorHandler::HandleError( *new StringErrorInfo( + ERRCODE_SVX_LINGU_DICT_NOTWRITEABLE, sDict ) ); EndDialog(); } diff --git a/cui/source/tabpages/backgrnd.cxx b/cui/source/tabpages/backgrnd.cxx index 16981f57c41e..f781f0c7e715 100644 --- a/cui/source/tabpages/backgrnd.cxx +++ b/cui/source/tabpages/backgrnd.cxx @@ -973,8 +973,8 @@ void SvxBackgroundTabPage::RaiseLoadError_Impl() &CUI_MGR() ); ErrorHandler::HandleError( - (new StringErrorInfo( ERRCODE_SVX_GRAPHIC_NOTREADABLE, - aBgdGraphicPath ))->GetErrorCode() ); + *new StringErrorInfo( ERRCODE_SVX_GRAPHIC_NOTREADABLE, + aBgdGraphicPath ) ); } bool SvxBackgroundTabPage::LoadLinkedGraphic_Impl() diff --git a/editeng/source/misc/splwrap.cxx b/editeng/source/misc/splwrap.cxx index fac731a09f3e..0ae986e5258e 100644 --- a/editeng/source/misc/splwrap.cxx +++ b/editeng/source/misc/splwrap.cxx @@ -104,14 +104,14 @@ void SvxSpellWrapper::ShowLanguageErrors() { OUString aErr( SvtLanguageTable::GetLanguageString( nLang ) ); ErrorHandler::HandleError( - (new StringErrorInfo( ERRCODE_SVX_LINGU_LANGUAGENOTEXISTS, aErr ))->GetErrorCode() ); + *new StringErrorInfo( ERRCODE_SVX_LINGU_LANGUAGENOTEXISTS, aErr ) ); nTmpSpell = SVX_LANG_MISSING; } if (SVX_LANG_MISSING_DO_WARN == nTmpHyph) { OUString aErr( SvtLanguageTable::GetLanguageString( nLang ) ); ErrorHandler::HandleError( - (new StringErrorInfo( ERRCODE_SVX_LINGU_LANGUAGENOTEXISTS, aErr ))->GetErrorCode() ); + *new StringErrorInfo( ERRCODE_SVX_LINGU_LANGUAGENOTEXISTS, aErr ) ); nTmpHyph = SVX_LANG_MISSING; } diff --git a/include/tools/errinf.hxx b/include/tools/errinf.hxx index 2b9f6b533d9b..9559eecfc918 100644 --- a/include/tools/errinf.hxx +++ b/include/tools/errinf.hxx @@ -62,7 +62,7 @@ public: DynamicErrorInfo(sal_uIntPtr lUserId, sal_uInt16 nMask); virtual ~DynamicErrorInfo() override; - sal_uIntPtr GetErrorCode() const; + operator sal_uIntPtr() const; sal_uInt16 GetDialogMask() const; }; diff --git a/sc/source/filter/xml/xmlwrap.cxx b/sc/source/filter/xml/xmlwrap.cxx index 82c90dff5ef2..a79b75ccc8da 100644 --- a/sc/source/filter/xml/xmlwrap.cxx +++ b/sc/source/filter/xml/xmlwrap.cxx @@ -216,17 +216,17 @@ sal_uInt32 ScXMLImportWrapper::ImportFromComponent(const uno::Reference<uno::XCo if( !sDocName.isEmpty() ) { - nReturn = (new TwoStringErrorInfo( + nReturn = *new TwoStringErrorInfo( (bMustBeSuccessfull ? SCERR_IMPORT_FILE_ROWCOL : SCWARN_IMPORT_FILE_ROWCOL), sDocName, sErr, - ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR ))->GetErrorCode(); + ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR ); } else { OSL_ENSURE( bMustBeSuccessfull, "Warnings are not supported" ); - nReturn = (new StringErrorInfo( SCERR_IMPORT_FORMAT_ROWCOL, sErr, - ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR ))->GetErrorCode(); + nReturn = *new StringErrorInfo( SCERR_IMPORT_FORMAT_ROWCOL, sErr, + ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR ); } } } diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx index 1a7fc52e0857..0a4ecc92afd6 100644 --- a/sc/source/ui/docshell/docsh.cxx +++ b/sc/source/ui/docshell/docsh.cxx @@ -2465,10 +2465,10 @@ bool ScDocShell::ConvertTo( SfxMedium &rMed ) bRet = aImExport.ExportStream(*pStream, rMed.GetBaseURL(true), SotClipboardFormatId::HTML); if (bRet && !aImExport.GetNonConvertibleChars().isEmpty()) { - SetError((new StringErrorInfo( + SetError(*new StringErrorInfo( SCWARN_EXPORT_NONCONVERTIBLE_CHARS, aImExport.GetNonConvertibleChars(), - ERRCODE_BUTTON_OK | ERRCODE_MSG_INFO))->GetErrorCode(), OSL_LOG_PREFIX); + ERRCODE_BUTTON_OK | ERRCODE_MSG_INFO), OSL_LOG_PREFIX); } } } diff --git a/sc/source/ui/docshell/docsh8.cxx b/sc/source/ui/docshell/docsh8.cxx index 72dde819d5de..6bee8e683222 100644 --- a/sc/source/ui/docshell/docsh8.cxx +++ b/sc/source/ui/docshell/docsh8.cxx @@ -1088,12 +1088,12 @@ sal_uLong ScDocShell::DBaseExport( const OUString& rFullFileName, rtl_TextEncodi } OUString sPosition( ScAddress( nDocCol, nDocRow, nTab).GetColRowString()); OUString sEncoding( SvxTextEncodingTable().GetTextString( eCharSet)); - nErr = (new TwoStringErrorInfo( (bEncErr ? SCERR_EXPORT_ENCODING : + nErr = *new TwoStringErrorInfo( (bEncErr ? SCERR_EXPORT_ENCODING : SCERR_EXPORT_FIELDWIDTH), sPosition, sEncoding, - ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR))->GetErrorCode(); + ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR); } else if ( !aException.Message.isEmpty() ) - nErr = (new StringErrorInfo( SCERR_EXPORT_SQLEXCEPTION, aException.Message, ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR))->GetErrorCode(); + nErr = *new StringErrorInfo( (SCERR_EXPORT_SQLEXCEPTION), aException.Message, ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR); else nErr = SCERR_EXPORT_DATA; } diff --git a/sd/source/filter/xml/sdxmlwrp.cxx b/sd/source/filter/xml/sdxmlwrp.cxx index d79ff01c3048..f91acb54cf80 100644 --- a/sd/source/filter/xml/sdxmlwrp.cxx +++ b/sd/source/filter/xml/sdxmlwrp.cxx @@ -245,17 +245,17 @@ sal_Int32 ReadThroughComponent( if (!rStreamName.isEmpty()) { - return (new TwoStringErrorInfo( + return *new TwoStringErrorInfo( (bMustBeSuccessfull ? ERR_FORMAT_FILE_ROWCOL : WARN_FORMAT_FILE_ROWCOL), rStreamName, sErr, - ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR ))->GetErrorCode(); + ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR ); } else { DBG_ASSERT( bMustBeSuccessfull, "Warnings are not supported" ); - return (new StringErrorInfo( ERR_FORMAT_ROWCOL, sErr, - ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR ))->GetErrorCode(); + return *new StringErrorInfo( ERR_FORMAT_ROWCOL, sErr, + ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR ); } } catch (const xml::sax::SAXException& r) diff --git a/sd/source/ui/func/fuinsert.cxx b/sd/source/ui/func/fuinsert.cxx index e9155f7e5d80..f91f0663ff81 100644 --- a/sd/source/ui/func/fuinsert.cxx +++ b/sd/source/ui/func/fuinsert.cxx @@ -452,7 +452,8 @@ void FuInsertOLE::DoExecute( SfxRequest& rReq ) } else { - ErrorHandler::HandleError( (new StringErrorInfo(ERRCODE_SFX_OLEGENERAL, ""))->GetErrorCode() ); + ErrorHandler::HandleError(* new StringErrorInfo(ERRCODE_SFX_OLEGENERAL, + "" ) ); } } else diff --git a/sd/source/ui/view/viewshe2.cxx b/sd/source/ui/view/viewshe2.cxx index b0f37020460a..82b529e869d3 100644 --- a/sd/source/ui/view/viewshe2.cxx +++ b/sd/source/ui/view/viewshe2.cxx @@ -864,7 +864,7 @@ bool ViewShell::ActivateObject(SdrOle2Obj* pObj, long nVerb) if (aErrCode != 0 && !bAbort) { - ErrorHandler::HandleError( (new StringErrorInfo(aErrCode, ""))->GetErrorCode() ); + ErrorHandler::HandleError(* new StringErrorInfo(aErrCode, OUString() ) ); } return aErrCode == 0; diff --git a/sfx2/source/doc/objstor.cxx b/sfx2/source/doc/objstor.cxx index 95c3557b2c84..3dda58bcf897 100644 --- a/sfx2/source/doc/objstor.cxx +++ b/sfx2/source/doc/objstor.cxx @@ -2296,8 +2296,8 @@ bool SfxObjectShell::ImportFrom(SfxMedium& rMedium, io::WrongFormatException e; if (rWrapped.TargetException >>= e) { - SetError((new StringErrorInfo(ERRCODE_SFX_FORMAT_ROWCOL, - e.Message, ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR ))->GetErrorCode(), ""); + SetError(*new StringErrorInfo(ERRCODE_SFX_FORMAT_ROWCOL, + e.Message, ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR ), ""); } } catch (...) diff --git a/sw/source/filter/html/swhtml.cxx b/sw/source/filter/html/swhtml.cxx index 830a9b0cdce3..7ba89d09b621 100644 --- a/sw/source/filter/html/swhtml.cxx +++ b/sw/source/filter/html/swhtml.cxx @@ -226,8 +226,8 @@ sal_uLong HTMLReader::Read( SwDoc &rDoc, const OUString& rBaseURL, SwPaM &rPam, + "," + OUString::number((sal_Int32)xParser->GetLinePos())); // den Stream als Fehlernummer Transporter benutzen - nRet = (new StringErrorInfo( ERR_FORMAT_ROWCOL, sErr, - ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR ))->GetErrorCode(); + nRet = *new StringErrorInfo( ERR_FORMAT_ROWCOL, sErr, + ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR ); } return nRet; diff --git a/sw/source/filter/xml/swxml.cxx b/sw/source/filter/xml/swxml.cxx index 374029e49088..66327a29117e 100644 --- a/sw/source/filter/xml/swxml.cxx +++ b/sw/source/filter/xml/swxml.cxx @@ -206,17 +206,17 @@ sal_Int32 ReadThroughComponent( if( !rStreamName.isEmpty() ) { - return (new TwoStringErrorInfo( + return *new TwoStringErrorInfo( (bMustBeSuccessfull ? ERR_FORMAT_FILE_ROWCOL : WARN_FORMAT_FILE_ROWCOL), rStreamName, sErr, - ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR ))->GetErrorCode(); + ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR ); } else { OSL_ENSURE( bMustBeSuccessfull, "Warnings are not supported" ); - return (new StringErrorInfo( ERR_FORMAT_ROWCOL, sErr, - ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR ))->GetErrorCode(); + return *new StringErrorInfo( ERR_FORMAT_ROWCOL, sErr, + ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR ); } } catch(const xml::sax::SAXException& r) diff --git a/sw/source/filter/xml/wrtxml.cxx b/sw/source/filter/xml/wrtxml.cxx index a2494ef1f221..0447ac459f75 100644 --- a/sw/source/filter/xml/wrtxml.cxx +++ b/sw/source/filter/xml/wrtxml.cxx @@ -413,15 +413,15 @@ sal_uInt32 SwXMLWriter::Write_( const uno::Reference < task::XStatusIndicator >& if( bErr ) { if( !sErrFile.isEmpty() ) - return (new StringErrorInfo( ERR_WRITE_ERROR_FILE, sErrFile, - ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR ))->GetErrorCode(); + return *new StringErrorInfo( ERR_WRITE_ERROR_FILE, sErrFile, + ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR ); return ERR_SWG_WRITE_ERROR; } else if( bWarn ) { if( !sWarnFile.isEmpty() ) - return (new StringErrorInfo( WARN_WRITE_ERROR_FILE, sWarnFile, - ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR ))->GetErrorCode(); + return *new StringErrorInfo( WARN_WRITE_ERROR_FILE, sWarnFile, + ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR ); return WARN_SWG_FEATURES_LOST; } diff --git a/sw/source/uibase/misc/glosdoc.cxx b/sw/source/uibase/misc/glosdoc.cxx index 513aba78930d..0959f925d001 100644 --- a/sw/source/uibase/misc/glosdoc.cxx +++ b/sw/source/uibase/misc/glosdoc.cxx @@ -398,9 +398,9 @@ void SwGlossaries::UpdateGlosPath(bool bFull) m_aInvalidPaths = aInvalidPaths; // wrong path, that means AutoText directory doesn't exist - ErrorHandler::HandleError( (new StringErrorInfo( + ErrorHandler::HandleError( *new StringErrorInfo( ERR_AUTOPATH_ERROR, lcl_makePath(m_aInvalidPaths), - ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR ))->GetErrorCode()); + ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR )); m_bError = true; } else @@ -419,8 +419,8 @@ void SwGlossaries::UpdateGlosPath(bool bFull) void SwGlossaries::ShowError() { - sal_uInt32 nPathError = (new StringErrorInfo(ERR_AUTOPATH_ERROR, - lcl_makePath(m_aInvalidPaths), ERRCODE_BUTTON_OK ))->GetErrorCode(); + sal_uInt32 nPathError = *new StringErrorInfo(ERR_AUTOPATH_ERROR, + lcl_makePath(m_aInvalidPaths), ERRCODE_BUTTON_OK ); ErrorHandler::HandleError( nPathError ); } diff --git a/sw/source/uibase/uiview/viewling.cxx b/sw/source/uibase/uiview/viewling.cxx index a1479f9ad0e8..0e74a3d5937c 100644 --- a/sw/source/uibase/uiview/viewling.cxx +++ b/sw/source/uibase/uiview/viewling.cxx @@ -359,7 +359,7 @@ void SwView::SpellError(LanguageType eLang) if ( LANGUAGE_NONE == eLang ) ErrorHandler::HandleError( ERRCODE_SVX_LINGU_NOLANGUAGE ); else - ErrorHandler::HandleError( (new StringErrorInfo( ERRCODE_SVX_LINGU_LANGUAGENOTEXISTS, aErr ))->GetErrorCode() ); + ErrorHandler::HandleError( *new StringErrorInfo( ERRCODE_SVX_LINGU_LANGUAGENOTEXISTS, aErr ) ); while( nWaitCnt ) { diff --git a/tools/source/ref/errinf.cxx b/tools/source/ref/errinf.cxx index 539151c40583..4c3eb5209751 100644 --- a/tools/source/ref/errinf.cxx +++ b/tools/source/ref/errinf.cxx @@ -86,7 +86,7 @@ void DynamicErrorInfo_Impl::RegisterEDcr(DynamicErrorInfo *pDcr) void DynamicErrorInfo_Impl::UnRegisterEDcr(DynamicErrorInfo const *pDcr) { DynamicErrorInfo **ppDcr = TheEDcrData::get().ppDcr; - sal_uIntPtr lIdx = ((pDcr->GetErrorCode() & ERRCODE_DYNAMIC_MASK) >> ERRCODE_DYNAMIC_SHIFT) - 1; + sal_uIntPtr lIdx = (((sal_uIntPtr)(*pDcr) & ERRCODE_DYNAMIC_MASK) >> ERRCODE_DYNAMIC_SHIFT) - 1; DBG_ASSERT(ppDcr[lIdx]==pDcr,"ErrHdl: Error nicht gefunden"); if(ppDcr[lIdx]==pDcr) ppDcr[lIdx]=nullptr; @@ -105,7 +105,7 @@ ErrorInfo *ErrorInfo::GetErrorInfo(sal_uIntPtr lId) return new ErrorInfo(lId); } -sal_uIntPtr DynamicErrorInfo::GetErrorCode() const +DynamicErrorInfo::operator sal_uIntPtr() const { return pImpl->lErrId; } @@ -127,7 +127,7 @@ ErrorInfo* DynamicErrorInfo_Impl::GetDynamicErrorInfo(sal_uIntPtr lId) { sal_uIntPtr lIdx = ((lId & ERRCODE_DYNAMIC_MASK)>>ERRCODE_DYNAMIC_SHIFT)-1; DynamicErrorInfo* pDcr = TheEDcrData::get().ppDcr[lIdx]; - if(pDcr && pDcr->GetErrorCode()==lId) + if(pDcr && (sal_uIntPtr)(*pDcr)==lId) return pDcr; else return new ErrorInfo(lId & ~ERRCODE_DYNAMIC_MASK); |