[Libreoffice-commits] core.git: 8 commits - filter/source i18npool/inc i18npool/source linguistic/source scripting/source sw/source vcl/source

Caolán McNamara caolanm at redhat.com
Tue Jan 10 10:10:28 UTC 2017


 filter/source/config/cache/filtercache.cxx |    4 -
 filter/source/config/cache/filtercache.hxx |    2 
 i18npool/inc/localedata.hxx                |    2 
 i18npool/source/localedata/localedata.cxx  |    2 
 linguistic/source/lngsvcmgr.cxx            |    2 
 scripting/source/dlgprov/dlgprov.cxx       |    2 
 scripting/source/dlgprov/dlgprov.hxx       |    2 
 sw/source/uibase/app/apphdl.cxx            |   33 +++++------
 vcl/source/gdi/alpha.cxx                   |    6 +-
 vcl/source/gdi/pngread.cxx                 |   83 +++++++++++++----------------
 10 files changed, 63 insertions(+), 75 deletions(-)

New commits:
commit 610d995c3a6aa406ee93052e613a4cfe1a8888c6
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Jan 10 09:45:15 2017 +0000

    ofz#395 leak in Bitmap::AcquireWriteAccess
    
    Change-Id: Id67f0b8e82e0730eb35a14a6080bfa5b15d365c8

diff --git a/vcl/source/gdi/pngread.cxx b/vcl/source/gdi/pngread.cxx
index 8b00675..c0a0007 100644
--- a/vcl/source/gdi/pngread.cxx
+++ b/vcl/source/gdi/pngread.cxx
@@ -76,9 +76,11 @@ private:
     std::vector<sal_uInt8>::iterator maDataIter;
 
     std::unique_ptr<Bitmap>    mpBmp;
-    Bitmap::ScopedWriteAccess  mpAcc;
+    Bitmap::ScopedWriteAccess  mxAcc;
     std::unique_ptr<Bitmap>    mpMaskBmp;
+    Bitmap::ScopedWriteAccess  mxMaskAcc;
     std::unique_ptr<AlphaMask> mpAlphaMask;
+    AlphaMask::ScopedWriteAccess mxAlphaAcc;
     BitmapWriteAccess*         mpMaskAcc;
 
     ZCodec              mpZCodec;
@@ -418,17 +420,10 @@ BitmapEx PNGReaderImpl::GetBitmapEx( const Size& rPreviewSizeHint )
     }
 
     // release write access of the bitmaps
-    mpAcc.reset();
-
-    if ( mpMaskAcc )
-    {
-        if ( mpAlphaMask )
-            mpAlphaMask->ReleaseAccess( mpMaskAcc );
-        else if ( mpMaskBmp )
-            Bitmap::ReleaseAccess( mpMaskAcc );
-
-        mpMaskAcc = nullptr;
-    }
+    mxAcc.reset();
+    mxMaskAcc.reset();
+    mxAlphaAcc.reset();
+    mpMaskAcc = nullptr;
 
     // return the resulting BitmapEx
     BitmapEx aRet;
@@ -657,16 +652,17 @@ bool PNGReaderImpl::ImplReadHeader( const Size& rPreviewSizeHint )
         return false;
 
     mpBmp = o3tl::make_unique<Bitmap>( maTargetSize, mnTargetDepth );
-    mpAcc = Bitmap::ScopedWriteAccess(*mpBmp);
-    if( !mpAcc )
+    mxAcc = Bitmap::ScopedWriteAccess(*mpBmp);
+    if (!mxAcc)
         return false;
 
     if ( mbAlphaChannel )
     {
         mpAlphaMask = o3tl::make_unique<AlphaMask>( maTargetSize );
         mpAlphaMask->Erase( 128 );
-        mpMaskAcc = mpAlphaMask->AcquireWriteAccess();
-        if( !mpMaskAcc )
+        mxAlphaAcc = AlphaMask::ScopedWriteAccess(*mpAlphaMask);
+        mpMaskAcc = mxAlphaAcc.get();
+        if (!mpMaskAcc)
             return false;
     }
 
@@ -691,9 +687,9 @@ void PNGReaderImpl::ImplGetGrayPalette( sal_uInt16 nBitDepth )
     if( nBitDepth == 2 )
         nPaletteEntryCount = 16;
 
-    mpAcc->SetPaletteEntryCount( nPaletteEntryCount );
+    mxAcc->SetPaletteEntryCount( nPaletteEntryCount );
     for ( sal_uInt32 i = 0, nStart = 0; nStart < 256; i++, nStart += nAdd )
-        mpAcc->SetPaletteColor( (sal_uInt16)i, BitmapColor( mpColorTable[ nStart ],
+        mxAcc->SetPaletteColor( (sal_uInt16)i, BitmapColor( mpColorTable[ nStart ],
             mpColorTable[ nStart ], mpColorTable[ nStart ] ) );
 }
 
@@ -701,17 +697,17 @@ bool PNGReaderImpl::ImplReadPalette()
 {
     sal_uInt16 nCount = static_cast<sal_uInt16>( mnChunkLen / 3 );
 
-    if ( ( ( mnChunkLen % 3 ) == 0 ) && ( ( 0 < nCount ) && ( nCount <= 256 ) ) && mpAcc )
+    if ( ( ( mnChunkLen % 3 ) == 0 ) && ( ( 0 < nCount ) && ( nCount <= 256 ) ) && mxAcc )
     {
         mbPalette = true;
-        mpAcc->SetPaletteEntryCount( (sal_uInt16) nCount );
+        mxAcc->SetPaletteEntryCount( (sal_uInt16) nCount );
 
         for ( sal_uInt16 i = 0; i < nCount; i++ )
         {
             sal_uInt8 nRed =   mpColorTable[ *maDataIter++ ];
             sal_uInt8 nGreen = mpColorTable[ *maDataIter++ ];
             sal_uInt8 nBlue =  mpColorTable[ *maDataIter++ ];
-            mpAcc->SetPaletteColor( i, Color( nRed, nGreen, nBlue ) );
+            mxAcc->SetPaletteColor( i, Color( nRed, nGreen, nBlue ) );
         }
     }
     else
@@ -781,12 +777,14 @@ bool PNGReaderImpl::ImplReadTransparent()
         if( bNeedAlpha)
         {
             mpAlphaMask = o3tl::make_unique<AlphaMask>( maTargetSize );
-            mpMaskAcc = mpAlphaMask->AcquireWriteAccess();
+            mxAlphaAcc = AlphaMask::ScopedWriteAccess(*mpAlphaMask);
+            mpMaskAcc = mxAlphaAcc.get();
         }
         else
         {
             mpMaskBmp = o3tl::make_unique<Bitmap>( maTargetSize, 1 );
-            mpMaskAcc = mpMaskBmp->AcquireWriteAccess();
+            mxMaskAcc = Bitmap::ScopedWriteAccess(*mpMaskBmp);
+            mpMaskAcc = mxMaskAcc.get();
         }
         mbTransparent = (mpMaskAcc != nullptr);
         if( !mbTransparent )
@@ -832,9 +830,9 @@ void PNGReaderImpl::ImplGetBackground()
             if ( mnChunkLen == 1 )
             {
                 sal_uInt16 nCol = *maDataIter++;
-                if ( nCol < mpAcc->GetPaletteEntryCount() )
+                if ( nCol < mxAcc->GetPaletteEntryCount() )
                 {
-                    mpAcc->Erase( mpAcc->GetPaletteColor( (sal_uInt8)nCol ) );
+                    mxAcc->Erase( mxAcc->GetPaletteColor( (sal_uInt8)nCol ) );
                     break;
                 }
             }
@@ -849,7 +847,7 @@ void PNGReaderImpl::ImplGetBackground()
                 // the color type 0 and 4 is always greyscale,
                 // so the return value can be used as index
                 sal_uInt8 nIndex = ImplScaleColor();
-                mpAcc->Erase( mpAcc->GetPaletteColor( nIndex ) );
+                mxAcc->Erase( mxAcc->GetPaletteColor( nIndex ) );
             }
         }
         break;
@@ -862,7 +860,7 @@ void PNGReaderImpl::ImplGetBackground()
                 sal_uInt8 nRed = ImplScaleColor();
                 sal_uInt8 nGreen = ImplScaleColor();
                 sal_uInt8 nBlue = ImplScaleColor();
-                mpAcc->Erase( Color( nRed, nGreen, nBlue ) );
+                mxAcc->Erase( Color( nRed, nGreen, nBlue ) );
             }
         }
         break;
@@ -1147,9 +1145,9 @@ void PNGReaderImpl::ImplDrawScanline( sal_uInt32 nXStart, sal_uInt32 nXAdd )
     const sal_uInt32 nY = mnYpos >> mnPreviewShift;
 
     sal_uInt8* pTmp = mpInflateInBuf + 1;
-    if ( mpAcc->HasPalette() ) // alphachannel is not allowed by pictures including palette entries
+    if ( mxAcc->HasPalette() ) // alphachannel is not allowed by pictures including palette entries
     {
-        switch ( mpAcc->GetBitCount() )
+        switch ( mxAcc->GetBitCount() )
         {
             case 1 :
             {
@@ -1314,8 +1312,8 @@ void PNGReaderImpl::ImplDrawScanline( sal_uInt32 nXStart, sal_uInt32 nXAdd )
                         {
                             int nLineBytes = maOrigSize.Width();
                             if (mbPalette)
-                                SanitizePaletteIndexes(pTmp, nLineBytes, mpAcc);
-                            mpAcc->CopyScanline( nY, pTmp, ScanlineFormat::N8BitPal, nLineBytes );
+                                SanitizePaletteIndexes(pTmp, nLineBytes, mxAcc);
+                            mxAcc->CopyScanline( nY, pTmp, ScanlineFormat::N8BitPal, nLineBytes );
                         }
                         else
                         {
@@ -1406,7 +1404,7 @@ void PNGReaderImpl::ImplDrawScanline( sal_uInt32 nXStart, sal_uInt32 nXAdd )
 
                     // copy scanlines directly to bitmaps for content and alpha; use the formats which
                     // are able to copy directly to BitmapBuffer
-                    mpAcc->CopyScanline(nY, mpScanline, ScanlineFormat::N24BitTcBgr, maOrigSize.Width() * 3);
+                    mxAcc->CopyScanline(nY, mpScanline, ScanlineFormat::N24BitTcBgr, maOrigSize.Width() * 3);
                     mpMaskAcc->CopyScanline(nY, mpScanlineAlpha, ScanlineFormat::N8BitPal, maOrigSize.Width());
                 }
                 else
@@ -1538,7 +1536,7 @@ void PNGReaderImpl::ImplDrawScanline( sal_uInt32 nXStart, sal_uInt32 nXAdd )
 
                     // copy scanline directly to bitmap for content; use the format which is able to
                     // copy directly to BitmapBuffer
-                    mpAcc->CopyScanline(nY, mpScanline, ScanlineFormat::N24BitTcBgr, maOrigSize.Width() * 3);
+                    mxAcc->CopyScanline(nY, mpScanline, ScanlineFormat::N24BitTcBgr, maOrigSize.Width() * 3);
                 }
                 else
                 {
@@ -1593,7 +1591,7 @@ void PNGReaderImpl::ImplSetPixel( sal_uInt32 nY, sal_uInt32 nX, const BitmapColo
         return;
     nX >>= mnPreviewShift;
 
-    mpAcc->SetPixel( nY, nX, rBitmapColor );
+    mxAcc->SetPixel( nY, nX, rBitmapColor );
 }
 
 void PNGReaderImpl::ImplSetPixel( sal_uInt32 nY, sal_uInt32 nX, sal_uInt8 nPalIndex )
@@ -1603,7 +1601,7 @@ void PNGReaderImpl::ImplSetPixel( sal_uInt32 nY, sal_uInt32 nX, sal_uInt8 nPalIn
         return;
     nX >>= mnPreviewShift;
 
-    mpAcc->SetPixelIndex( nY, nX, nPalIndex );
+    mxAcc->SetPixelIndex( nY, nX, nPalIndex );
 }
 
 void PNGReaderImpl::ImplSetTranspPixel( sal_uInt32 nY, sal_uInt32 nX, const BitmapColor& rBitmapColor, bool bTrans )
@@ -1613,7 +1611,7 @@ void PNGReaderImpl::ImplSetTranspPixel( sal_uInt32 nY, sal_uInt32 nX, const Bitm
         return;
     nX >>= mnPreviewShift;
 
-    mpAcc->SetPixel( nY, nX, rBitmapColor );
+    mxAcc->SetPixel( nY, nX, rBitmapColor );
 
     if ( bTrans )
         mpMaskAcc->SetPixel( nY, nX, mcTranspColor );
@@ -1629,7 +1627,7 @@ void PNGReaderImpl::ImplSetAlphaPixel( sal_uInt32 nY, sal_uInt32 nX,
         return;
     nX >>= mnPreviewShift;
 
-    mpAcc->SetPixelIndex( nY, nX, nPalIndex );
+    mxAcc->SetPixelIndex( nY, nX, nPalIndex );
     mpMaskAcc->SetPixelIndex( nY, nX, ~nAlpha );
 }
 
@@ -1641,7 +1639,7 @@ void PNGReaderImpl::ImplSetAlphaPixel( sal_uInt32 nY, sal_uInt32 nX,
         return;
     nX >>= mnPreviewShift;
 
-    mpAcc->SetPixel( nY, nX, rBitmapColor );
+    mxAcc->SetPixel( nY, nX, rBitmapColor );
     if (!mpMaskAcc)
         return;
     mpMaskAcc->SetPixelIndex( nY, nX, ~nAlpha );
commit 3cd6485ee95ed2b2c4cf8cd7b45a573a0aced175
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Jan 10 09:31:27 2017 +0000

    BitmapWriteAccess* -> Bitmap::ScopedWriteAccess
    
    Change-Id: I5b3980d8eecc61a6f63aa64a1b05c30afa2f57f7

diff --git a/vcl/source/gdi/pngread.cxx b/vcl/source/gdi/pngread.cxx
index 1d4a6c3..8b00675 100644
--- a/vcl/source/gdi/pngread.cxx
+++ b/vcl/source/gdi/pngread.cxx
@@ -76,7 +76,7 @@ private:
     std::vector<sal_uInt8>::iterator maDataIter;
 
     std::unique_ptr<Bitmap>    mpBmp;
-    BitmapWriteAccess*         mpAcc;
+    Bitmap::ScopedWriteAccess  mpAcc;
     std::unique_ptr<Bitmap>    mpMaskBmp;
     std::unique_ptr<AlphaMask> mpAlphaMask;
     BitmapWriteAccess*         mpMaskAcc;
@@ -167,7 +167,6 @@ public:
 
 PNGReaderImpl::PNGReaderImpl( SvStream& rPNGStream )
 :   mrPNGStream( rPNGStream ),
-    mpAcc           ( nullptr ),
     mpMaskAcc       ( nullptr ),
     mpInflateInBuf  ( nullptr ),
     mpScanPrior     ( nullptr ),
@@ -419,11 +418,7 @@ BitmapEx PNGReaderImpl::GetBitmapEx( const Size& rPreviewSizeHint )
     }
 
     // release write access of the bitmaps
-    if ( mpAcc )
-    {
-        Bitmap::ReleaseAccess( mpAcc );
-        mpAcc = nullptr;
-    }
+    mpAcc.reset();
 
     if ( mpMaskAcc )
     {
@@ -662,7 +657,7 @@ bool PNGReaderImpl::ImplReadHeader( const Size& rPreviewSizeHint )
         return false;
 
     mpBmp = o3tl::make_unique<Bitmap>( maTargetSize, mnTargetDepth );
-    mpAcc = mpBmp->AcquireWriteAccess();
+    mpAcc = Bitmap::ScopedWriteAccess(*mpBmp);
     if( !mpAcc )
         return false;
 
@@ -1120,9 +1115,9 @@ void PNGReaderImpl::ImplApplyFilter()
 
 namespace
 {
-    void SanitizePaletteIndexes(sal_uInt8* pEntries, int nLen, BitmapWriteAccess* pAcc)
+    void SanitizePaletteIndexes(sal_uInt8* pEntries, int nLen, const Bitmap::ScopedWriteAccess& rAcc)
     {
-        sal_uInt16 nPaletteEntryCount = pAcc->GetPaletteEntryCount();
+        sal_uInt16 nPaletteEntryCount = rAcc->GetPaletteEntryCount();
         for (int nX = 0; nX < nLen; ++nX)
         {
             if (pEntries[nX] >= nPaletteEntryCount)
commit b3bddf8b75226326a39f92f8fcb1745569b86caa
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Jan 10 09:17:21 2017 +0000

    Bitmap::Convert->Convert
    
    Change-Id: Id8e6c4d7290eabdc32991bad1e8cda1f06c751f2

diff --git a/vcl/source/gdi/alpha.cxx b/vcl/source/gdi/alpha.cxx
index 1289016..dc4b507 100644
--- a/vcl/source/gdi/alpha.cxx
+++ b/vcl/source/gdi/alpha.cxx
@@ -30,7 +30,7 @@ AlphaMask::AlphaMask( const Bitmap& rBitmap ) :
     Bitmap( rBitmap )
 {
     if( !!rBitmap )
-        Bitmap::Convert( BMP_CONVERSION_8BIT_GREYS );
+        Convert( BMP_CONVERSION_8BIT_GREYS );
 }
 
 AlphaMask::AlphaMask( const AlphaMask& rAlphaMask ) :
@@ -59,7 +59,7 @@ AlphaMask& AlphaMask::operator=( const Bitmap& rBitmap )
     *static_cast<Bitmap*>(this) = rBitmap;
 
     if( !!rBitmap )
-        Bitmap::Convert( BMP_CONVERSION_8BIT_GREYS );
+        Convert( BMP_CONVERSION_8BIT_GREYS );
 
     return *this;
 }
@@ -154,7 +154,7 @@ void AlphaMask::ReleaseAccess( BitmapReadAccess* pAccess )
     if( pAccess )
     {
         Bitmap::ReleaseAccess( pAccess );
-        Bitmap::Convert( BMP_CONVERSION_8BIT_GREYS );
+        Convert( BMP_CONVERSION_8BIT_GREYS );
     }
 }
 
commit 01392c4a60e1bcba839a06471300312593e15de4
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Jan 10 09:03:39 2017 +0000

    WaE: -Wunused-function with dbconnectivity disabled
    
    Change-Id: Ief9a3b478d904dd12f51dc7e4373a8273f209635

diff --git a/sw/source/uibase/app/apphdl.cxx b/sw/source/uibase/app/apphdl.cxx
index 816f0f2..eaaabf9 100644
--- a/sw/source/uibase/app/apphdl.cxx
+++ b/sw/source/uibase/app/apphdl.cxx
@@ -114,24 +114,6 @@ using namespace ::com::sun::star;
 
 #include <shells.hrc>
 
-namespace
-{
-    bool lcl_hasAllComponentsAvailable()
-    {
-        try
-        {
-            return css::sdb::TextConnectionSettings::create(comphelper::getProcessComponentContext()).is();
-        }
-        catch (css::uno::Exception & e)
-        {
-            SAL_INFO(
-                "sw.core",
-                "assuming Base to be missing; caught " << e.Message);
-            return false;
-        }
-    }
-}
-
 SFX_IMPL_INTERFACE(SwModule, SfxModule)
 
 void SwModule::InitInterface_Impl()
@@ -408,6 +390,21 @@ SwMailMergeWizardExecutor::~SwMailMergeWizardExecutor()
     OSL_ENSURE( m_pWizard == nullptr, "SwMailMergeWizardExecutor: m_pWizard must be Null!" );
 }
 
+bool lcl_hasAllComponentsAvailable()
+{
+    try
+    {
+        return css::sdb::TextConnectionSettings::create(comphelper::getProcessComponentContext()).is();
+    }
+    catch (css::uno::Exception & e)
+    {
+        SAL_INFO(
+            "sw.core",
+            "assuming Base to be missing; caught " << e.Message);
+        return false;
+    }
+}
+
 void SwMailMergeWizardExecutor::ExecuteMailMergeWizard( const SfxItemSet * pArgs )
 {
     if(!lcl_hasAllComponentsAvailable())
commit 7aad85c4f5bfd33ce7fdb17643ae16b6b87f7632
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Jan 10 09:01:02 2017 +0000

    coverity#1398524 Uncaught exception
    
    Change-Id: I5654f1123fc7dea3ea132141863cd65cf184e360

diff --git a/linguistic/source/lngsvcmgr.cxx b/linguistic/source/lngsvcmgr.cxx
index 9ac9656..35cc6e7 100644
--- a/linguistic/source/lngsvcmgr.cxx
+++ b/linguistic/source/lngsvcmgr.cxx
@@ -2018,7 +2018,7 @@ uno::Sequence< OUString > LngSvcMgr::getSupportedServiceNames_Static()
 
 uno::Reference< uno::XInterface > SAL_CALL LngSvcMgr_CreateInstance(
             const uno::Reference< lang::XMultiServiceFactory > & /*rSMgr*/ )
-        throw(uno::Exception)
+        throw(uno::Exception, std::exception)
 {
     uno::Reference< uno::XInterface > xService = static_cast<cppu::OWeakObject*>(new LngSvcMgr);
     return xService;
commit 5b99067d8d6f0fee926405c6e14dbb9d10c7368e
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Jan 10 09:00:13 2017 +0000

    coverity#1398525 Uncaught exception
    
    Change-Id: Ic7d2ae5d597ad589b86ec27e2645c543e08121ad

diff --git a/filter/source/config/cache/filtercache.cxx b/filter/source/config/cache/filtercache.cxx
index 86d092e..671b0ba 100644
--- a/filter/source/config/cache/filtercache.cxx
+++ b/filter/source/config/cache/filtercache.cxx
@@ -1512,10 +1512,9 @@ void FilterCache::impl_loadSet(const css::uno::Reference< css::container::XNameA
     }
 }
 
-
 void FilterCache::impl_readPatchUINames(const css::uno::Reference< css::container::XNameAccess >& xNode,
                                               CacheItem&                                          rItem)
-    throw(css::uno::Exception)
+    throw(css::uno::Exception, std::exception)
 {
 
     // SAFE -> ----------------------------------
@@ -1573,7 +1572,6 @@ void FilterCache::impl_readPatchUINames(const css::uno::Reference< css::containe
         rItem[PROPNAME_UINAME] = pUIName->second;
 }
 
-
 void FilterCache::impl_savePatchUINames(const css::uno::Reference< css::container::XNameReplace >& xNode,
                                         const CacheItem&                                           rItem)
     throw(css::uno::Exception)
diff --git a/filter/source/config/cache/filtercache.hxx b/filter/source/config/cache/filtercache.hxx
index 35ade19..650f996 100644
--- a/filter/source/config/cache/filtercache.hxx
+++ b/filter/source/config/cache/filtercache.hxx
@@ -861,7 +861,7 @@ class FilterCache : public BaseLock
         /** TODO */
         void impl_readPatchUINames(const css::uno::Reference< css::container::XNameAccess >& xNode,
                                          CacheItem&                                          rItem)
-            throw(css::uno::Exception);
+            throw(css::uno::Exception, std::exception);
 
 
         /** TODO */
commit 001f85ffa45d0a46b3eea48a5c60597ea03afd42
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Jan 10 08:59:07 2017 +0000

    coverity#1398526 Uncaught exception
    
    Change-Id: I6b1d5b0049ec744ed87e13300e1f01a94f88202c

diff --git a/i18npool/inc/localedata.hxx b/i18npool/inc/localedata.hxx
index ae33218..636b627 100644
--- a/i18npool/inc/localedata.hxx
+++ b/i18npool/inc/localedata.hxx
@@ -132,7 +132,7 @@ private:
         getCalendarItemByName(const OUString& name,
         const css::lang::Locale& rLocale,
         const css::uno::Sequence< css::i18n::Calendar2 >& calendarsSeq,
-        sal_Int16 item) throw( css::uno::RuntimeException );
+        sal_Int16 item) throw( css::uno::RuntimeException, std::exception );
 
     /// Helper to obtain a sequence of days, months, gmonths or eras.
     css::uno::Sequence< css::i18n::CalendarItem2 > getCalendarItems(
diff --git a/i18npool/source/localedata/localedata.cxx b/i18npool/source/localedata/localedata.cxx
index e2b9aa6..f57b953 100644
--- a/i18npool/source/localedata/localedata.cxx
+++ b/i18npool/source/localedata/localedata.cxx
@@ -601,7 +601,7 @@ oslGenericFunction SAL_CALL lcl_LookupTableHelper::getFunctionSymbolByName(
 
 Sequence< CalendarItem2 > &LocaleDataImpl::getCalendarItemByName(const OUString& name,
         const Locale& rLocale, const Sequence< Calendar2 >& calendarsSeq, sal_Int16 item)
-        throw(RuntimeException)
+        throw(RuntimeException, std::exception)
 {
     if (!ref_name.equals(name)) {
         OUString aLocStr, id;
commit 52f6b1f49e29d1398be70561701d798502e57f3c
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Jan 10 08:58:07 2017 +0000

    coverity#1398527 Uncaught exception
    
    Change-Id: Id1c0273f7430ba525f231ed5bb9311c732935640

diff --git a/scripting/source/dlgprov/dlgprov.cxx b/scripting/source/dlgprov/dlgprov.cxx
index 2a41e8e..8267d5f 100644
--- a/scripting/source/dlgprov/dlgprov.cxx
+++ b/scripting/source/dlgprov/dlgprov.cxx
@@ -615,7 +615,7 @@ namespace dlgprov
     Reference < XControl > DialogProviderImpl::createDialogImpl(
         const OUString& URL, const Reference< XInterface >& xHandler,
         const Reference< XWindowPeer >& xParent, bool bDialogProviderMode )
-            throw (IllegalArgumentException, RuntimeException)
+            throw (IllegalArgumentException, RuntimeException, std::exception)
     {
         // if the dialog is located in a document, the document must already be open!
 
diff --git a/scripting/source/dlgprov/dlgprov.hxx b/scripting/source/dlgprov/dlgprov.hxx
index 868b7df..f88d0c0 100644
--- a/scripting/source/dlgprov/dlgprov.hxx
+++ b/scripting/source/dlgprov/dlgprov.hxx
@@ -106,7 +106,7 @@ namespace dlgprov
             const css::uno::Reference< css::uno::XInterface >& xHandler,
             const css::uno::Reference< css::awt::XWindowPeer >& xParent,
             bool bDialogProviderMode )
-                throw (css::lang::IllegalArgumentException, css::uno::RuntimeException);
+                throw (css::lang::IllegalArgumentException, css::uno::RuntimeException, std::exception);
 
     public:
         explicit DialogProviderImpl(


More information about the Libreoffice-commits mailing list