vcl: change ErrorHandlerFlags to DialogMask

Change-Id: I1959ac97f679d8d719f851f9869962b39a20ded9
Reviewed-on: https://gerrit.libreoffice.org/36841
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
diff --git a/basic/source/basmgr/basicmanagerrepository.cxx b/basic/source/basmgr/basicmanagerrepository.cxx
index a41feb1..711210c 100644
--- a/basic/source/basmgr/basicmanagerrepository.cxx
+++ b/basic/source/basmgr/basicmanagerrepository.cxx
@@ -445,7 +445,7 @@ namespace basic
                for(const auto& rError : aErrors)
                {
                    // show message to user
                    if ( ErrorHandlerFlags::ButtonsCancel == ErrorHandler::HandleError( rError.GetErrorId() ) )
                    if ( DialogMask::ButtonsCancel == ErrorHandler::HandleError( rError.GetErrorId() ) )
                    {
                        // user wants to break loading of BASIC-manager
                        delete _out_rpBasicManager;
diff --git a/basic/source/basmgr/basmgr.cxx b/basic/source/basmgr/basmgr.cxx
index 97b5125..0258b26 100644
--- a/basic/source/basmgr/basmgr.cxx
+++ b/basic/source/basmgr/basmgr.cxx
@@ -638,7 +638,7 @@ void BasicManager::ImpMgrNotLoaded( const OUString& rStorageName )
{
    // pErrInf is only destroyed if the error os processed by an
    // ErrorHandler
    StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_MGROPEN, rStorageName, ErrorHandlerFlags::ButtonsOk );
    StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_MGROPEN, rStorageName, DialogMask::ButtonsOk );
    aErrors.push_back(BasicError(*pErrInf, BasicErrorReason::OPENMGRSTREAM));

    // Create a stdlib otherwise we crash!
@@ -778,7 +778,7 @@ void BasicManager::LoadOldBasicManager( SotStorage& rStorage )
    xManagerStream->Seek( nBasicStartOff );
    if (!ImplLoadBasic( *xManagerStream, mpImpl->aLibs.front()->GetLibRef() ))
    {
        StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_MGROPEN, aStorName, ErrorHandlerFlags::ButtonsOk );
        StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_MGROPEN, aStorName, DialogMask::ButtonsOk );
        aErrors.push_back(BasicError(*pErrInf, BasicErrorReason::OPENMGRSTREAM));
        // and it proceeds ...
    }
@@ -826,7 +826,7 @@ void BasicManager::LoadOldBasicManager( SotStorage& rStorage )
            }
            else
            {
                StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_LIBLOAD, aStorName, ErrorHandlerFlags::ButtonsOk );
                StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_LIBLOAD, aStorName, DialogMask::ButtonsOk );
                aErrors.push_back(BasicError(*pErrInf, BasicErrorReason::STORAGENOTFOUND));
            }
        }
@@ -909,7 +909,7 @@ bool BasicManager::ImpLoadLibrary( BasicLibInfo* pLibInfo, SotStorage* pCurStora

    if ( !xBasicStorage.is() || xBasicStorage->GetError() )
    {
        StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_MGROPEN, xStorage->GetName(), ErrorHandlerFlags::ButtonsOk );
        StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_MGROPEN, xStorage->GetName(), DialogMask::ButtonsOk );
        aErrors.push_back(BasicError(*pErrInf, BasicErrorReason::OPENLIBSTORAGE));
    }
    else
@@ -918,7 +918,7 @@ bool BasicManager::ImpLoadLibrary( BasicLibInfo* pLibInfo, SotStorage* pCurStora
        tools::SvRef<SotStorageStream> xBasicStream = xBasicStorage->OpenSotStream( pLibInfo->GetLibName(), eStreamReadMode );
        if ( !xBasicStream.is() || xBasicStream->GetError() )
        {
            StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_LIBLOAD , pLibInfo->GetLibName(), ErrorHandlerFlags::ButtonsOk );
            StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_LIBLOAD , pLibInfo->GetLibName(), DialogMask::ButtonsOk );
            aErrors.push_back(BasicError(*pErrInf, BasicErrorReason::OPENLIBSTREAM));
        }
        else
@@ -941,7 +941,7 @@ bool BasicManager::ImpLoadLibrary( BasicLibInfo* pLibInfo, SotStorage* pCurStora
            }
            if ( !bLoaded )
            {
                StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_LIBLOAD, pLibInfo->GetLibName(), ErrorHandlerFlags::ButtonsOk );
                StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_LIBLOAD, pLibInfo->GetLibName(), DialogMask::ButtonsOk );
                aErrors.push_back(BasicError(*pErrInf, BasicErrorReason::BASICLOADERROR));
            }
            else
@@ -1125,7 +1125,7 @@ bool BasicManager::RemoveLib( sal_uInt16 nLib, bool bDelBasicFromStorage )

    if( !nLib || nLib  < mpImpl->aLibs.size() )
    {
        StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_REMOVELIB, OUString(), ErrorHandlerFlags::ButtonsOk );
        StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_REMOVELIB, OUString(), DialogMask::ButtonsOk );
        aErrors.push_back(BasicError(*pErrInf, BasicErrorReason::STDLIB));
        return false;
    }
@@ -1161,7 +1161,7 @@ bool BasicManager::RemoveLib( sal_uInt16 nLib, bool bDelBasicFromStorage )

            if ( !xBasicStorage.is() || xBasicStorage->GetError() )
            {
                StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_REMOVELIB, OUString(), ErrorHandlerFlags::ButtonsOk );
                StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_REMOVELIB, OUString(), DialogMask::ButtonsOk );
                aErrors.push_back(BasicError(*pErrInf, BasicErrorReason::OPENLIBSTORAGE));
            }
            else if (xBasicStorage->IsStream((*itLibInfo)->GetLibName()))
@@ -1296,7 +1296,7 @@ bool BasicManager::LoadLib( sal_uInt16 nLib )
    }
    else
    {
        StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_LIBLOAD, OUString(), ErrorHandlerFlags::ButtonsOk );
        StringErrorInfo* pErrInf = new StringErrorInfo( ERRCODE_BASMGR_LIBLOAD, OUString(), DialogMask::ButtonsOk );
        aErrors.push_back(BasicError(*pErrInf, BasicErrorReason::LIBNOTFOUND));
    }
    return bDone;
diff --git a/include/vcl/errinf.hxx b/include/vcl/errinf.hxx
index f458ef6..05159b7 100644
--- a/include/vcl/errinf.hxx
+++ b/include/vcl/errinf.hxx
@@ -34,7 +34,7 @@ namespace vcl { class Window; }
class DynamicErrorInfo_Impl;
class ErrorHandler_Impl;

enum class ErrorHandlerFlags
enum class DialogMask
{
    NONE                    = 0x0000,
    ButtonsOk               = 0x0001,
@@ -59,7 +59,7 @@ enum class ErrorHandlerFlags
};
namespace o3tl
{
    template<> struct typed_flags<ErrorHandlerFlags> : is_typed_flags<ErrorHandlerFlags, 0xffff> {};
    template<> struct typed_flags<DialogMask> : is_typed_flags<DialogMask, 0xffff> {};
}

class SAL_WARN_UNUSED VCL_DLLPUBLIC ErrorInfo
@@ -87,11 +87,11 @@ private:

public:

                            DynamicErrorInfo(sal_uInt32 lUserId, ErrorHandlerFlags nMask);
                            DynamicErrorInfo(sal_uInt32 lUserId, DialogMask nMask);
    virtual                 ~DynamicErrorInfo() override;

    operator                sal_uInt32() const;
    ErrorHandlerFlags       GetDialogMask() const;
    DialogMask       GetDialogMask() const;
};

class SAL_WARN_UNUSED VCL_DLLPUBLIC StringErrorInfo : public DynamicErrorInfo
@@ -103,7 +103,7 @@ public:

                            StringErrorInfo( sal_uInt32 lUserId,
                                            const OUString& aStringP,
                                            ErrorHandlerFlags nMask = ErrorHandlerFlags::NONE);
                                            DialogMask nMask = DialogMask::NONE);
    const OUString&         GetErrorString() const { return aString; }
};

@@ -116,7 +116,7 @@ private:
public:

    TwoStringErrorInfo(sal_uInt32 nUserID, const OUString & rTheArg1,
                       const OUString & rTheArg2, ErrorHandlerFlags nMask):
                       const OUString & rTheArg2, DialogMask nMask):
        DynamicErrorInfo(nUserID, nMask), aArg1(rTheArg1), aArg2(rTheArg2) {}

    const OUString& GetArg1() const { return aArg1; }
@@ -141,8 +141,8 @@ public:
    static ErrorContext*    GetContext();
};

typedef ErrorHandlerFlags WindowDisplayErrorFunc(
    vcl::Window *, ErrorHandlerFlags nMask, const OUString &rErr, const OUString &rAction);
typedef DialogMask WindowDisplayErrorFunc(
    vcl::Window *, DialogMask nMask, const OUString &rErr, const OUString &rAction);

typedef void BasicDisplayErrorFunc(
    const OUString &rErr, const OUString &rAction);
@@ -152,8 +152,8 @@ class SAL_WARN_UNUSED VCL_DLLPUBLIC ErrorHandler
    friend class ErrorHandler_Impl;

private:
    static ErrorHandlerFlags HandleError_Impl( sal_uInt32 lId,
                              ErrorHandlerFlags nFlags,
    static DialogMask HandleError_Impl( sal_uInt32 lId,
                              DialogMask nFlags,
                              bool bJustCreateString,
                              OUString & rError);
protected:
@@ -163,7 +163,7 @@ public:
                        ErrorHandler();
    virtual             ~ErrorHandler();

    static ErrorHandlerFlags HandleError ( sal_uInt32 lId, ErrorHandlerFlags nMask = ErrorHandlerFlags::MAX );
    static DialogMask   HandleError ( sal_uInt32 lId, DialogMask nMask = DialogMask::MAX );
    static bool         GetErrorString( sal_uInt32 lId, OUString& rStr );

    static void         RegisterDisplay( BasicDisplayErrorFunc* );
diff --git a/sc/source/filter/xml/xmlwrap.cxx b/sc/source/filter/xml/xmlwrap.cxx
index 5805a6e..8c6cd1b 100644
--- a/sc/source/filter/xml/xmlwrap.cxx
+++ b/sc/source/filter/xml/xmlwrap.cxx
@@ -221,13 +221,13 @@ sal_uInt32 ScXMLImportWrapper::ImportFromComponent(const uno::Reference<uno::XCo
                                (bMustBeSuccessfull ? SCERR_IMPORT_FILE_ROWCOL
                                                        : SCWARN_IMPORT_FILE_ROWCOL),
                                sDocName, sErr,
                                ErrorHandlerFlags::ButtonsOk | ErrorHandlerFlags::MessageError );
                                DialogMask::ButtonsOk | DialogMask::MessageError );
            }
            else
            {
                OSL_ENSURE( bMustBeSuccessfull, "Warnings are not supported" );
                nReturn = *new StringErrorInfo( SCERR_IMPORT_FORMAT_ROWCOL, sErr,
                                 ErrorHandlerFlags::ButtonsOk | ErrorHandlerFlags::MessageError );
                                 DialogMask::ButtonsOk | DialogMask::MessageError );
            }
        }
    }
diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx
index bfb3edd..fec3e7f4 100644
--- a/sc/source/ui/docshell/docsh.cxx
+++ b/sc/source/ui/docshell/docsh.cxx
@@ -2463,7 +2463,7 @@ bool ScDocShell::ConvertTo( SfxMedium &rMed )
                SetError(*new StringErrorInfo(
                    SCWARN_EXPORT_NONCONVERTIBLE_CHARS,
                    aImExport.GetNonConvertibleChars(),
                    ErrorHandlerFlags::ButtonsOk | ErrorHandlerFlags::MessageInfo));
                    DialogMask::ButtonsOk | DialogMask::MessageInfo));
            }
        }
    }
diff --git a/sc/source/ui/docshell/docsh8.cxx b/sc/source/ui/docshell/docsh8.cxx
index 586f48e..725a8b9 100644
--- a/sc/source/ui/docshell/docsh8.cxx
+++ b/sc/source/ui/docshell/docsh8.cxx
@@ -1091,10 +1091,10 @@ sal_uLong ScDocShell::DBaseExport( const OUString& rFullFileName, rtl_TextEncodi
            OUString sEncoding( SvxTextEncodingTable().GetTextString( eCharSet));
            nErr = *new TwoStringErrorInfo( (bEncErr ? SCERR_EXPORT_ENCODING :
                        SCERR_EXPORT_FIELDWIDTH), sPosition, sEncoding,
                    ErrorHandlerFlags::ButtonsOk | ErrorHandlerFlags::MessageError);
                    DialogMask::ButtonsOk | DialogMask::MessageError);
        }
        else if ( !aException.Message.isEmpty() )
            nErr = *new StringErrorInfo( SCERR_EXPORT_SQLEXCEPTION, aException.Message, ErrorHandlerFlags::ButtonsOk | ErrorHandlerFlags::MessageError);
            nErr = *new StringErrorInfo( SCERR_EXPORT_SQLEXCEPTION, aException.Message, DialogMask::ButtonsOk | DialogMask::MessageError);
        else
            nErr = SCERR_EXPORT_DATA;
    }
diff --git a/sd/source/filter/xml/sdxmlwrp.cxx b/sd/source/filter/xml/sdxmlwrp.cxx
index 4f12e37..63964b6 100644
--- a/sd/source/filter/xml/sdxmlwrp.cxx
+++ b/sd/source/filter/xml/sdxmlwrp.cxx
@@ -250,13 +250,13 @@ sal_Int32 ReadThroughComponent(
                            (bMustBeSuccessfull ? ERR_FORMAT_FILE_ROWCOL
                                                    : WARN_FORMAT_FILE_ROWCOL),
                            rStreamName, sErr,
                            ErrorHandlerFlags::ButtonsOk | ErrorHandlerFlags::MessageError );
                            DialogMask::ButtonsOk | DialogMask::MessageError );
        }
        else
        {
            DBG_ASSERT( bMustBeSuccessfull, "Warnings are not supported" );
            return *new StringErrorInfo( ERR_FORMAT_ROWCOL, sErr,
                             ErrorHandlerFlags::ButtonsOk | ErrorHandlerFlags::MessageError );
                             DialogMask::ButtonsOk | DialogMask::MessageError );
        }
    }
    catch (const xml::sax::SAXException& r)
diff --git a/sfx2/source/doc/objstor.cxx b/sfx2/source/doc/objstor.cxx
index 3ecd527..68fc849 100644
--- a/sfx2/source/doc/objstor.cxx
+++ b/sfx2/source/doc/objstor.cxx
@@ -2256,7 +2256,7 @@ bool SfxObjectShell::ImportFrom(SfxMedium& rMedium,
            if (rWrapped.TargetException >>= e)
            {
                SetError(*new StringErrorInfo(ERRCODE_SFX_FORMAT_ROWCOL,
                    e.Message, ErrorHandlerFlags::ButtonsOk | ErrorHandlerFlags::MessageError ));
                    e.Message, DialogMask::ButtonsOk | DialogMask::MessageError ));
            }
        }
        catch (const std::exception& e)
@@ -2264,7 +2264,7 @@ bool SfxObjectShell::ImportFrom(SfxMedium& rMedium,
            const char *msg = e.what();
            OUString sError(msg, strlen(msg), RTL_TEXTENCODING_ASCII_US);
            SetError(*new StringErrorInfo(ERRCODE_SFX_DOLOADFAILED,
                sError, ErrorHandlerFlags::ButtonsOk | ErrorHandlerFlags::MessageError));
                sError, DialogMask::ButtonsOk | DialogMask::MessageError));
        }
        catch (...)
        {
diff --git a/svtools/source/misc/ehdl.cxx b/svtools/source/misc/ehdl.cxx
index c1415de..abf9af1 100644
--- a/svtools/source/misc/ehdl.cxx
+++ b/svtools/source/misc/ehdl.cxx
@@ -32,9 +32,9 @@
#include <memory>


static ErrorHandlerFlags aWndFunc(
static DialogMask aWndFunc(
    vcl::Window *pWin,            // Parent of the dialog
    ErrorHandlerFlags nFlags,
    DialogMask nFlags,
    const OUString &rErr,      // error text
    const OUString &rAction)   // action text

@@ -53,32 +53,32 @@ static ErrorHandlerFlags aWndFunc(

    // determine necessary WinBits from the flags
    WinBits eBits=0;
    if ( nFlags & (ErrorHandlerFlags::ButtonsCancel | ErrorHandlerFlags::ButtonsRetry) )
    if ( nFlags & (DialogMask::ButtonsCancel | DialogMask::ButtonsRetry) )
        eBits = WB_RETRY_CANCEL;
    else if ( nFlags & ErrorHandlerFlags::ButtonsOkCancel )
    else if ( nFlags & DialogMask::ButtonsOkCancel )
        eBits = WB_OK_CANCEL;
    else if ( nFlags & ErrorHandlerFlags::ButtonsOk )
    else if ( nFlags & DialogMask::ButtonsOk )
        eBits = WB_OK;
    else if ( nFlags & ErrorHandlerFlags::ButtonsYesNoCancel )
    else if ( nFlags & DialogMask::ButtonsYesNoCancel )
        eBits = WB_YES_NO_CANCEL;
    else if ( nFlags & ErrorHandlerFlags::ButtonsYesNo )
    else if ( nFlags & DialogMask::ButtonsYesNo )
        eBits = WB_YES_NO;

    switch(nFlags & ErrorHandlerFlags(0x0f00))
    switch(nFlags & DialogMask(0x0f00))
    {
      case ErrorHandlerFlags::ButtonDefaultsOk:
      case DialogMask::ButtonDefaultsOk:
            eBits |= WB_DEF_OK;
            break;

      case ErrorHandlerFlags::ButtonDefaultsCancel:
      case DialogMask::ButtonDefaultsCancel:
            eBits |= WB_DEF_CANCEL;
            break;

      case ErrorHandlerFlags::ButtonDefaultsYes:
      case DialogMask::ButtonDefaultsYes:
            eBits |= WB_DEF_YES;
            break;

      case ErrorHandlerFlags::ButtonDefaultsNo:
      case DialogMask::ButtonDefaultsNo:
            eBits |= WB_DEF_NO;
            break;
      default: break;
@@ -92,44 +92,44 @@ static ErrorHandlerFlags aWndFunc(
    aErr = aErr.replaceAll("$(ERROR)", rErr);

    VclPtr<MessBox> pBox;
    switch ( nFlags & ErrorHandlerFlags(0xf000) )
    switch ( nFlags & DialogMask(0xf000) )
    {
        case ErrorHandlerFlags::MessageError:
        case DialogMask::MessageError:
            pBox.reset(VclPtr<ErrorBox>::Create(pWin, eBits, aErr));
            break;

        case ErrorHandlerFlags::MessageWarning:
        case DialogMask::MessageWarning:
            pBox.reset(VclPtr<WarningBox>::Create(pWin, eBits, aErr));
            break;

        case ErrorHandlerFlags::MessageInfo:
        case DialogMask::MessageInfo:
            pBox.reset(VclPtr<InfoBox>::Create(pWin, aErr));
            break;

        default:
        {
            SAL_WARN( "svtools.misc", "no MessBox type");
            return ErrorHandlerFlags::ButtonsOk;
            return DialogMask::ButtonsOk;
        }
    }

    ErrorHandlerFlags nRet = ErrorHandlerFlags::NONE;
    DialogMask nRet = DialogMask::NONE;
    switch ( pBox->Execute() )
    {
        case RET_OK:
            nRet = ErrorHandlerFlags::ButtonsOk;
            nRet = DialogMask::ButtonsOk;
            break;
        case RET_CANCEL:
            nRet = ErrorHandlerFlags::ButtonsCancel;
            nRet = DialogMask::ButtonsCancel;
            break;
        case RET_RETRY:
            nRet = ErrorHandlerFlags::ButtonsRetry;
            nRet = DialogMask::ButtonsRetry;
            break;
        case RET_YES:
            nRet = ErrorHandlerFlags::ButtonsYes;
            nRet = DialogMask::ButtonsYes;
            break;
        case RET_NO:
            nRet = ErrorHandlerFlags::ButtonsNo;
            nRet = DialogMask::ButtonsNo;
            break;
        default:
            SAL_WARN( "svtools.misc", "Unknown MessBox return value" );
diff --git a/sw/source/core/frmedt/fetab.cxx b/sw/source/core/frmedt/fetab.cxx
index cafafbb..62e84aa 100644
--- a/sw/source/core/frmedt/fetab.cxx
+++ b/sw/source/core/frmedt/fetab.cxx
@@ -190,7 +190,7 @@ bool SwFEShell::InsertRow( sal_uInt16 nCnt, bool bBehind )
    if( dynamic_cast< const SwDDETable* >(pFrame->ImplFindTabFrame()->GetTable()) != nullptr )
    {
        ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR,
                        ErrorHandlerFlags::MessageInfo | ErrorHandlerFlags::ButtonDefaultsOk );
                        DialogMask::MessageInfo | DialogMask::ButtonDefaultsOk );
        return false;
    }

@@ -231,7 +231,7 @@ bool SwFEShell::InsertCol( sal_uInt16 nCnt, bool bBehind )
    if( dynamic_cast< const SwDDETable* >(pFrame->ImplFindTabFrame()->GetTable()) != nullptr )
    {
        ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR,
                        ErrorHandlerFlags::MessageInfo | ErrorHandlerFlags::ButtonDefaultsOk );
                        DialogMask::MessageInfo | DialogMask::ButtonDefaultsOk );
        return false;
    }

@@ -240,7 +240,7 @@ bool SwFEShell::InsertCol( sal_uInt16 nCnt, bool bBehind )
    if( !CheckSplitCells( *this, nCnt + 1, SwTableSearchType::Col ) )
    {
        ErrorHandler::HandleError( ERR_TBLINSCOL_ERROR,
                        ErrorHandlerFlags::MessageInfo | ErrorHandlerFlags::ButtonDefaultsOk );
                        DialogMask::MessageInfo | DialogMask::ButtonDefaultsOk );
        return false;
    }

@@ -286,7 +286,7 @@ bool SwFEShell::DeleteCol()
    if( dynamic_cast< const SwDDETable* >(pFrame->ImplFindTabFrame()->GetTable()) != nullptr )
    {
        ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR,
                        ErrorHandlerFlags::MessageInfo | ErrorHandlerFlags::ButtonDefaultsOk );
                        DialogMask::MessageInfo | DialogMask::ButtonDefaultsOk );
        return false;
    }

@@ -337,7 +337,7 @@ bool SwFEShell::DeleteRow(bool bCompleteTable)
    if( dynamic_cast< const SwDDETable* >(pFrame->ImplFindTabFrame()->GetTable()) != nullptr )
    {
        ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR,
                        ErrorHandlerFlags::MessageInfo | ErrorHandlerFlags::ButtonDefaultsOk );
                        DialogMask::MessageInfo | DialogMask::ButtonDefaultsOk );
        return false;
    }

@@ -456,7 +456,7 @@ TableMergeErr SwFEShell::MergeTab()
        if( dynamic_cast< const SwDDETable* >(&pTableNd->GetTable()) != nullptr )
        {
            ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR,
                            ErrorHandlerFlags::MessageInfo | ErrorHandlerFlags::ButtonDefaultsOk );
                            DialogMask::MessageInfo | DialogMask::ButtonDefaultsOk );
        }
        else
        {
@@ -487,7 +487,7 @@ bool SwFEShell::SplitTab( bool bVert, sal_uInt16 nCnt, bool bSameHeight )
    if( dynamic_cast< const SwDDETable* >(pFrame->ImplFindTabFrame()->GetTable()) != nullptr  )
    {
        ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR,
                        ErrorHandlerFlags::MessageInfo | ErrorHandlerFlags::ButtonDefaultsOk );
                        DialogMask::MessageInfo | DialogMask::ButtonDefaultsOk );
        return false;
    }

@@ -496,7 +496,7 @@ bool SwFEShell::SplitTab( bool bVert, sal_uInt16 nCnt, bool bSameHeight )
    if( bVert && !CheckSplitCells( *this, nCnt + 1 ) )
    {
        ErrorHandler::HandleError( ERR_TBLSPLIT_ERROR,
                        ErrorHandlerFlags::MessageInfo | ErrorHandlerFlags::ButtonDefaultsOk );
                        DialogMask::MessageInfo | DialogMask::ButtonDefaultsOk );
        return false;
    }
    StartAllAction();
@@ -1296,7 +1296,7 @@ bool SwFEShell::DeleteTableSel()
    if( dynamic_cast< const SwDDETable* >(pFrame->ImplFindTabFrame()->GetTable()) != nullptr )
    {
        ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR,
                        ErrorHandlerFlags::MessageInfo | ErrorHandlerFlags::ButtonDefaultsOk );
                        DialogMask::MessageInfo | DialogMask::ButtonDefaultsOk );
        return false;
    }

@@ -2162,7 +2162,7 @@ bool SwFEShell::SetColRowWidthHeight( TableChgWidthHeightType eType, sal_uInt16 
        dynamic_cast< const SwDDETable* >(pFrame->ImplFindTabFrame()->GetTable()) != nullptr )
    {
        ErrorHandler::HandleError( ERR_TBLDDECHG_ERROR,
                        ErrorHandlerFlags::MessageInfo | ErrorHandlerFlags::ButtonDefaultsOk );
                        DialogMask::MessageInfo | DialogMask::ButtonDefaultsOk );
        return false;
    }

diff --git a/sw/source/filter/html/swhtml.cxx b/sw/source/filter/html/swhtml.cxx
index d77eee2..ab05fa5 100644
--- a/sw/source/filter/html/swhtml.cxx
+++ b/sw/source/filter/html/swhtml.cxx
@@ -229,7 +229,7 @@ sal_uLong HTMLReader::Read( SwDoc &rDoc, const OUString& rBaseURL, SwPaM &rPam, 

        // den Stream als Fehlernummer Transporter benutzen
        nRet = *new StringErrorInfo( ERR_FORMAT_ROWCOL, sErr,
                                    ErrorHandlerFlags::ButtonsOk | ErrorHandlerFlags::MessageError );
                                    DialogMask::ButtonsOk | DialogMask::MessageError );
    }

    return nRet;
diff --git a/sw/source/filter/xml/swxml.cxx b/sw/source/filter/xml/swxml.cxx
index a619485..4daf020f 100644
--- a/sw/source/filter/xml/swxml.cxx
+++ b/sw/source/filter/xml/swxml.cxx
@@ -211,13 +211,13 @@ sal_Int32 ReadThroughComponent(
                            (bMustBeSuccessfull ? ERR_FORMAT_FILE_ROWCOL
                                                    : WARN_FORMAT_FILE_ROWCOL),
                            rStreamName, sErr,
                            ErrorHandlerFlags::ButtonsOk | ErrorHandlerFlags::MessageError );
                            DialogMask::ButtonsOk | DialogMask::MessageError );
        }
        else
        {
            OSL_ENSURE( bMustBeSuccessfull, "Warnings are not supported" );
            return *new StringErrorInfo( ERR_FORMAT_ROWCOL, sErr,
                             ErrorHandlerFlags::ButtonsOk | ErrorHandlerFlags::MessageError );
                             DialogMask::ButtonsOk | DialogMask::MessageError );
        }
    }
    catch(const xml::sax::SAXException& r)
diff --git a/sw/source/filter/xml/wrtxml.cxx b/sw/source/filter/xml/wrtxml.cxx
index 7e3658a..fcaeea8 100644
--- a/sw/source/filter/xml/wrtxml.cxx
+++ b/sw/source/filter/xml/wrtxml.cxx
@@ -415,14 +415,14 @@ sal_uInt32 SwXMLWriter::Write_( const uno::Reference < task::XStatusIndicator >&
    {
        if( !sErrFile.isEmpty() )
            return *new StringErrorInfo( ERR_WRITE_ERROR_FILE, sErrFile,
                                         ErrorHandlerFlags::ButtonsOk | ErrorHandlerFlags::MessageError );
                                         DialogMask::ButtonsOk | DialogMask::MessageError );
        return ERR_SWG_WRITE_ERROR;
    }
    else if( bWarn )
    {
        if( !sWarnFile.isEmpty() )
            return *new StringErrorInfo( WARN_WRITE_ERROR_FILE, sWarnFile,
                                         ErrorHandlerFlags::ButtonsOk | ErrorHandlerFlags::MessageError );
                                         DialogMask::ButtonsOk | DialogMask::MessageError );
        return WARN_SWG_FEATURES_LOST;
    }

diff --git a/sw/source/uibase/misc/glosdoc.cxx b/sw/source/uibase/misc/glosdoc.cxx
index 42a7d5b..cc7fe90 100644
--- a/sw/source/uibase/misc/glosdoc.cxx
+++ b/sw/source/uibase/misc/glosdoc.cxx
@@ -400,7 +400,7 @@ void SwGlossaries::UpdateGlosPath(bool bFull)

                ErrorHandler::HandleError( *new StringErrorInfo(
                                        ERR_AUTOPATH_ERROR, lcl_makePath(m_aInvalidPaths),
                                        ErrorHandlerFlags::ButtonsOk | ErrorHandlerFlags::MessageError ) );
                                        DialogMask::ButtonsOk | DialogMask::MessageError ) );
                m_bError = true;
            }
            else
@@ -420,7 +420,7 @@ void SwGlossaries::UpdateGlosPath(bool bFull)
void SwGlossaries::ShowError()
{
    sal_uInt32 nPathError = *new StringErrorInfo(ERR_AUTOPATH_ERROR,
                                            lcl_makePath(m_aInvalidPaths), ErrorHandlerFlags::ButtonsOk );
                                            lcl_makePath(m_aInvalidPaths), DialogMask::ButtonsOk );
    ErrorHandler::HandleError( nPathError );
}

diff --git a/uui/source/iahndl-authentication.cxx b/uui/source/iahndl-authentication.cxx
index 11b1062..d4ee48a 100644
--- a/uui/source/iahndl-authentication.cxx
+++ b/uui/source/iahndl-authentication.cxx
@@ -114,8 +114,8 @@ executeLoginDialog(
        if ( bCanUseSysCreds )
            xDialog->SetUseSystemCredentials( rInfo.GetIsUseSystemCredentials() );

        rInfo.SetResult(xDialog->Execute() == RET_OK ? ErrorHandlerFlags::ButtonsOk :
                                                       ErrorHandlerFlags::ButtonsCancel);
        rInfo.SetResult(xDialog->Execute() == RET_OK ? DialogMask::ButtonsOk :
                                                       DialogMask::ButtonsCancel);
        rInfo.SetUserName(xDialog->GetName());
        rInfo.SetPassword(xDialog->GetPassword());
        rInfo.SetAccount(xDialog->GetAccount());
@@ -277,7 +277,7 @@ handleAuthenticationRequest_(
                       rRequest.HasRealm ? rRequest.Realm : OUString());
    switch (aInfo.GetResult())
    {
    case ErrorHandlerFlags::ButtonsOk:
    case DialogMask::ButtonsOk:
        if (xSupplyAuthentication.is())
        {
            if (xSupplyAuthentication->canSetUserName())
@@ -391,7 +391,7 @@ handleAuthenticationRequest_(
          }
          break;

    case ErrorHandlerFlags::ButtonsRetry:
    case DialogMask::ButtonsRetry:
        if (xRetry.is())
            xRetry->select();
        break;
@@ -420,7 +420,7 @@ executeMasterPasswordDialog(
            ScopedVclPtrInstance< MasterPasswordCreateDialog > xDialog(
                pParent, xManager.get());
            rInfo.SetResult(xDialog->Execute()
                == RET_OK ? ErrorHandlerFlags::ButtonsOk : ErrorHandlerFlags::ButtonsCancel);
                == RET_OK ? DialogMask::ButtonsOk : DialogMask::ButtonsCancel);
            aMaster = OUStringToOString(
                xDialog->GetMasterPassword(), RTL_TEXTENCODING_UTF8);
        }
@@ -429,7 +429,7 @@ executeMasterPasswordDialog(
            ScopedVclPtrInstance< MasterPasswordDialog > xDialog(
                pParent, nMode, xManager.get());
            rInfo.SetResult(xDialog->Execute()
                == RET_OK ? ErrorHandlerFlags::ButtonsOk : ErrorHandlerFlags::ButtonsCancel);
                == RET_OK ? DialogMask::ButtonsOk : DialogMask::ButtonsCancel);
            aMaster = OUStringToOString(
                xDialog->GetMasterPassword(), RTL_TEXTENCODING_UTF8);
        }
@@ -477,7 +477,7 @@ handleMasterPasswordRequest_(

    switch (aInfo.GetResult())
    {
    case ErrorHandlerFlags::ButtonsOk:
    case DialogMask::ButtonsOk:
        if (xSupplyAuthentication.is())
        {
            if (xSupplyAuthentication->canSetPassword())
@@ -486,7 +486,7 @@ handleMasterPasswordRequest_(
        }
        break;

    case ErrorHandlerFlags::ButtonsRetry:
    case DialogMask::ButtonsRetry:
        if (xRetry.is())
            xRetry->select();
        break;
@@ -521,7 +521,7 @@ executePasswordDialog(
                    bIsPasswordToModify, bIsSimplePasswordRequest);
                xDialog->SetMinLen(0);

                rInfo.SetResult(xDialog->Execute() == RET_OK ? ErrorHandlerFlags::ButtonsOk : ErrorHandlerFlags::ButtonsCancel);
                rInfo.SetResult(xDialog->Execute() == RET_OK ? DialogMask::ButtonsOk : DialogMask::ButtonsCancel);
                rInfo.SetPassword(xDialog->GetPassword());
            }
            else
@@ -532,7 +532,7 @@ executePasswordDialog(
                ScopedVclPtr<AbstractPasswordToOpenModifyDialog> const pDialog(
                    pFact->CreatePasswordToOpenModifyDialog(pParent, nMaxPasswdLen, bIsPasswordToModify));

                rInfo.SetResult( pDialog->Execute() == RET_OK ? ErrorHandlerFlags::ButtonsOk : ErrorHandlerFlags::ButtonsCancel );
                rInfo.SetResult( pDialog->Execute() == RET_OK ? DialogMask::ButtonsOk : DialogMask::ButtonsCancel );
                rInfo.SetPassword( pDialog->GetPasswordToOpen() );
                rInfo.SetPasswordToModify( pDialog->GetPasswordToModify() );
                rInfo.SetRecommendToOpenReadonly( pDialog->IsRecommendToOpenReadonly() );
@@ -544,7 +544,7 @@ executePasswordDialog(
                bIsPasswordToModify, bIsSimplePasswordRequest);
            xDialog->SetMinLen(0);

            rInfo.SetResult(xDialog->Execute() == RET_OK ? ErrorHandlerFlags::ButtonsOk : ErrorHandlerFlags::ButtonsCancel);
            rInfo.SetResult(xDialog->Execute() == RET_OK ? DialogMask::ButtonsOk : DialogMask::ButtonsCancel);
            rInfo.SetPassword(bIsPasswordToModify ? OUString() : xDialog->GetPassword());
            rInfo.SetPasswordToModify(bIsPasswordToModify ? xDialog->GetPassword() : OUString());
        }
@@ -583,7 +583,7 @@ handlePasswordRequest_(

    switch (aInfo.GetResult())
    {
    case ErrorHandlerFlags::ButtonsOk:
    case DialogMask::ButtonsOk:
        OSL_ENSURE( !bIsPasswordToModify || xPassword2.is(), "PasswordToModify is requested, but there is no Interaction!" );
        if (xPassword.is())
        {
@@ -598,7 +598,7 @@ handlePasswordRequest_(
        }
        break;

    case ErrorHandlerFlags::ButtonsRetry:
    case DialogMask::ButtonsRetry:
        if (xRetry.is())
            xRetry->select();
        break;
diff --git a/uui/source/iahndl-errorhandler.cxx b/uui/source/iahndl-errorhandler.cxx
index d9a3d2a..3e90c6e 100644
--- a/uui/source/iahndl-errorhandler.cxx
+++ b/uui/source/iahndl-errorhandler.cxx
@@ -40,7 +40,7 @@ using namespace com::sun::star;

namespace {

ErrorHandlerFlags
DialogMask
executeErrorDialog(
    vcl::Window * pParent,
    task::InteractionClassification eClassification,
@@ -105,23 +105,23 @@ executeErrorDialog(

    xBox.disposeAndClear();

    ErrorHandlerFlags aResult = ErrorHandlerFlags::NONE;
    DialogMask aResult = DialogMask::NONE;
    switch( aMessResult )
    {
    case RET_OK:
        aResult = ErrorHandlerFlags::ButtonsOk;
        aResult = DialogMask::ButtonsOk;
        break;
    case RET_CANCEL:
        aResult = ErrorHandlerFlags::ButtonsCancel;
        aResult = DialogMask::ButtonsCancel;
        break;
    case RET_YES:
        aResult = ErrorHandlerFlags::ButtonsYes;
        aResult = DialogMask::ButtonsYes;
        break;
    case RET_NO:
        aResult = ErrorHandlerFlags::ButtonsNo;
        aResult = DialogMask::ButtonsNo;
        break;
    case RET_RETRY:
        aResult = ErrorHandlerFlags::ButtonsRetry;
        aResult = DialogMask::ButtonsRetry;
        break;
    default: assert(false);
    }
@@ -259,12 +259,12 @@ UUIInteractionHelper::handleErrorHandlerRequest(
            }
        }

        ErrorHandlerFlags nResult = executeErrorDialog(
        DialogMask nResult = executeErrorDialog(
            getParentProperty(), eClassification, aContext, aMessage, nButtonMask );

        switch (nResult)
        {
        case ErrorHandlerFlags::ButtonsOk:
        case DialogMask::ButtonsOk:
            OSL_ENSURE(xApprove.is() || xAbort.is(), "unexpected situation");
            if (xApprove.is())
                xApprove->select();
@@ -272,25 +272,25 @@ UUIInteractionHelper::handleErrorHandlerRequest(
                xAbort->select();
            break;

        case ErrorHandlerFlags::ButtonsCancel:
        case DialogMask::ButtonsCancel:
            OSL_ENSURE(xAbort.is(), "unexpected situation");
            if (xAbort.is())
                xAbort->select();
            break;

        case ErrorHandlerFlags::ButtonsRetry:
        case DialogMask::ButtonsRetry:
            OSL_ENSURE(xRetry.is(), "unexpected situation");
            if (xRetry.is())
                xRetry->select();
            break;

        case ErrorHandlerFlags::ButtonsNo:
        case DialogMask::ButtonsNo:
            OSL_ENSURE(xDisapprove.is(), "unexpected situation");
            if (xDisapprove.is())
                xDisapprove->select();
            break;

        case ErrorHandlerFlags::ButtonsYes:
        case DialogMask::ButtonsYes:
            OSL_ENSURE(xApprove.is(), "unexpected situation");
            if (xApprove.is())
                xApprove->select();
diff --git a/uui/source/iahndl.cxx b/uui/source/iahndl.cxx
index c104989..b42e562 100644
--- a/uui/source/iahndl.cxx
+++ b/uui/source/iahndl.cxx
@@ -973,7 +973,7 @@ UUIInteractionHelper::getInteractionHandler()

namespace {

ErrorHandlerFlags
DialogMask
executeMessageBox(
    vcl::Window * pParent,
    OUString const & rTitle,
@@ -985,23 +985,23 @@ executeMessageBox(
    ScopedVclPtrInstance< MessBox > xBox(pParent, nButtonMask, rTitle, rMessage);

    sal_uInt16 aMessResult = xBox->Execute();
    ErrorHandlerFlags aResult = ErrorHandlerFlags::NONE;
    DialogMask aResult = DialogMask::NONE;
    switch( aMessResult )
    {
    case RET_OK:
        aResult = ErrorHandlerFlags::ButtonsOk;
        aResult = DialogMask::ButtonsOk;
        break;
    case RET_CANCEL:
        aResult = ErrorHandlerFlags::ButtonsCancel;
        aResult = DialogMask::ButtonsCancel;
        break;
    case RET_YES:
        aResult = ErrorHandlerFlags::ButtonsYes;
        aResult = DialogMask::ButtonsYes;
        break;
    case RET_NO:
        aResult = ErrorHandlerFlags::ButtonsNo;
        aResult = DialogMask::ButtonsNo;
        break;
    case RET_RETRY:
        aResult = ErrorHandlerFlags::ButtonsRetry;
        aResult = DialogMask::ButtonsRetry;
        break;
    default: assert(false);
    }
@@ -1258,19 +1258,19 @@ UUIInteractionHelper::handleBrokenPackageRequest(
    switch (
        executeMessageBox( getParentProperty(), title, aMessage, nButtonMask ) )
    {
    case ErrorHandlerFlags::ButtonsOk:
    case DialogMask::ButtonsOk:
        OSL_ENSURE( xAbort.is(), "unexpected situation" );
        if (xAbort.is())
            xAbort->select();
        break;

    case ErrorHandlerFlags::ButtonsNo:
    case DialogMask::ButtonsNo:
        OSL_ENSURE(xDisapprove.is(), "unexpected situation");
        if (xDisapprove.is())
            xDisapprove->select();
        break;

    case ErrorHandlerFlags::ButtonsYes:
    case DialogMask::ButtonsYes:
        OSL_ENSURE(xApprove.is(), "unexpected situation");
        if (xApprove.is())
            xApprove->select();
diff --git a/uui/source/loginerr.hxx b/uui/source/loginerr.hxx
index ae0775a..5fe7dbb 100644
--- a/uui/source/loginerr.hxx
+++ b/uui/source/loginerr.hxx
@@ -43,13 +43,13 @@ private:
    OUString m_aPath;
    OUString m_aErrorText;
    sal_uInt8   m_nFlags;
    ErrorHandlerFlags m_nRet;
    DialogMask m_nRet;
    bool   m_bRecommendToOpenReadonly;

public:
    LoginErrorInfo()
        : m_nFlags(LOGINERROR_FLAG_MODIFY_USER_NAME)
        , m_nRet(ErrorHandlerFlags::ButtonsCancel)
        , m_nRet(DialogMask::ButtonsCancel)
        , m_bRecommendToOpenReadonly(false)
    {
    }
@@ -72,7 +72,7 @@ public:
                    { return ( m_nFlags & LOGINERROR_FLAG_IS_USE_SYSCREDS ) ==
                             LOGINERROR_FLAG_IS_USE_SYSCREDS; }
    sal_uInt8       GetFlags() const        { return m_nFlags; }
    ErrorHandlerFlags   GetResult() const       { return m_nRet; }
    DialogMask   GetResult() const       { return m_nRet; }

    void            SetTitle( const OUString& aTitle )
                    { m_aTitle = aTitle; }
@@ -100,7 +100,7 @@ public:
    inline void     SetModifyAccount( bool bSet );
    inline void     SetModifyUserName( bool bSet );

    void            SetResult( ErrorHandlerFlags nRet )
    void            SetResult( DialogMask nRet )
                    { m_nRet = nRet; }
};

diff --git a/vcl/source/window/errinf.cxx b/vcl/source/window/errinf.cxx
index 55f2cfe..5a58865 100644
--- a/vcl/source/window/errinf.cxx
+++ b/vcl/source/window/errinf.cxx
@@ -48,7 +48,7 @@ struct TheErrorRegistry: public rtl::Static<ErrorRegistry, TheErrorRegistry> {};
class DynamicErrorInfo_Impl
{
    ErrCode                     lErrId;
    ErrorHandlerFlags           nMask;
    DialogMask           nMask;

    void                        RegisterEDcr(DynamicErrorInfo *);
    static void                 UnRegisterEDcr(DynamicErrorInfo const *);
@@ -110,7 +110,7 @@ DynamicErrorInfo::operator sal_uInt32() const
    return pImpl->lErrId;
}

DynamicErrorInfo::DynamicErrorInfo(sal_uInt32 lArgUserId, ErrorHandlerFlags nMask)
DynamicErrorInfo::DynamicErrorInfo(sal_uInt32 lArgUserId, DialogMask nMask)
: ErrorInfo(lArgUserId),
  pImpl(new DynamicErrorInfo_Impl)
{
@@ -133,13 +133,13 @@ ErrorInfo* DynamicErrorInfo_Impl::GetDynamicErrorInfo(sal_uInt32 lId)
        return new ErrorInfo(lId & ~ERRCODE_DYNAMIC_MASK);
}

ErrorHandlerFlags DynamicErrorInfo::GetDialogMask() const
DialogMask DynamicErrorInfo::GetDialogMask() const
{
    return pImpl->nMask;
}

StringErrorInfo::StringErrorInfo(
    sal_uInt32 UserId, const OUString& aStringP, ErrorHandlerFlags nMask)
    sal_uInt32 UserId, const OUString& aStringP, DialogMask nMask)
: DynamicErrorInfo(UserId, nMask), aString(aStringP)
{
}
@@ -235,13 +235,13 @@ void ErrorHandler::RegisterDisplay(BasicDisplayErrorFunc *aDsp)

    @return ???
*/
ErrorHandlerFlags ErrorHandler::HandleError_Impl(
    sal_uInt32 nErrCodeId, ErrorHandlerFlags nFlags, bool bJustCreateString, OUString & rError)
DialogMask ErrorHandler::HandleError_Impl(
    sal_uInt32 nErrCodeId, DialogMask nFlags, bool bJustCreateString, OUString & rError)
{
    OUString aErr;
    OUString aAction;
    if(!nErrCodeId || nErrCodeId == ERRCODE_ABORT)
        return ErrorHandlerFlags::NONE;
        return DialogMask::NONE;
    ErrorRegistry &rData      = TheErrorRegistry::get();
    vcl::Window *pParent = nullptr;
    ErrorInfo *pInfo     = ErrorInfo::GetErrorInfo(nErrCodeId);
@@ -258,17 +258,17 @@ ErrorHandlerFlags ErrorHandler::HandleError_Impl(
    }

    bool bWarning = ((nErrCodeId & ERRCODE_WARNING_MASK) == ERRCODE_WARNING_MASK);
    ErrorHandlerFlags nErrFlags = ErrorHandlerFlags::ButtonDefaultsOk | ErrorHandlerFlags::ButtonsOk;
    DialogMask nErrFlags = DialogMask::ButtonDefaultsOk | DialogMask::ButtonsOk;
    if (bWarning)
        nErrFlags |= ErrorHandlerFlags::MessageWarning;
        nErrFlags |= DialogMask::MessageWarning;
    else
        nErrFlags |= ErrorHandlerFlags::MessageError;
        nErrFlags |= DialogMask::MessageError;

    DynamicErrorInfo* pDynPtr=dynamic_cast<DynamicErrorInfo*>(pInfo);
    if(pDynPtr)
    {
        ErrorHandlerFlags nDynFlags = pDynPtr->GetDialogMask();
        if( nDynFlags != ErrorHandlerFlags::NONE )
        DialogMask nDynFlags = pDynPtr->GetDialogMask();
        if( nDynFlags != DialogMask::NONE )
            nErrFlags = nDynFlags;
    }

@@ -277,7 +277,7 @@ ErrorHandlerFlags ErrorHandler::HandleError_Impl(
        if (bJustCreateString)
        {
            rError = aErr;
            return ErrorHandlerFlags::ButtonsOk;
            return DialogMask::ButtonsOk;
        }
        else
        {
@@ -295,11 +295,11 @@ ErrorHandlerFlags ErrorHandler::HandleError_Impl(
                if(!rData.bIsWindowDsp)
                {
                    (*reinterpret_cast<BasicDisplayErrorFunc*>(rData.pDsp))(aErr,aAction);
                    return ErrorHandlerFlags::NONE;
                    return DialogMask::NONE;
                }
                else
                {
                    if (nFlags != ErrorHandlerFlags::MAX)
                    if (nFlags != DialogMask::MAX)
                        nErrFlags = nFlags;
                    return (*reinterpret_cast<WindowDisplayErrorFunc*>(rData.pDsp))(
                        pParent, nErrFlags, aErr, aAction);
@@ -311,27 +311,27 @@ ErrorHandlerFlags ErrorHandler::HandleError_Impl(
    // Error 1 is classified as a General Error in sfx
    if(pInfo->GetErrorCode()!=1)
    {
        HandleError_Impl(1, ErrorHandlerFlags::MAX, bJustCreateString, rError);
        HandleError_Impl(1, DialogMask::MAX, bJustCreateString, rError);
    }
    else
    {
        OSL_FAIL("Error 1 not handled");
    }
    delete pInfo;
    return ErrorHandlerFlags::NONE;
    return DialogMask::NONE;
}

// static
bool ErrorHandler::GetErrorString(sal_uInt32 lId, OUString& rStr)
{
    return HandleError_Impl( lId, ErrorHandlerFlags::MAX, true, rStr ) != ErrorHandlerFlags::NONE;
    return HandleError_Impl( lId, DialogMask::MAX, true, rStr ) != DialogMask::NONE;
}

/** Handles an error.

    @see ErrorHandler::HandleError_Impl
*/
ErrorHandlerFlags ErrorHandler::HandleError(sal_uInt32 lId, ErrorHandlerFlags nFlags)
DialogMask ErrorHandler::HandleError(sal_uInt32 lId, DialogMask nFlags)
{
    OUString aDummy;
    return HandleError_Impl( lId, nFlags, false, aDummy );