sd/source/ui/dlg/PhotoAlbumDialog.cxx |   76 +++++++++++++++++++++++++++-------
 1 file changed, 62 insertions(+), 14 deletions(-)

New commits:
commit 944b882d3296b33f4b33b8ef3e33d020ed428732
Author: Caolán McNamara <caol...@redhat.com>
Date:   Sun Mar 25 17:16:36 2018 +0100

    tdf#116544 crash on unhandled IllegalArgument exception
    
    Change-Id: I290ba6097d6d91bf4677e7e92c896bd6359cbc49
    Reviewed-on: https://gerrit.libreoffice.org/51834
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk>

diff --git a/sd/source/ui/dlg/PhotoAlbumDialog.cxx 
b/sd/source/ui/dlg/PhotoAlbumDialog.cxx
index 72d8bd2a1db2..9ba0850f5949 100644
--- a/sd/source/ui/dlg/PhotoAlbumDialog.cxx
+++ b/sd/source/ui/dlg/PhotoAlbumDialog.cxx
@@ -180,9 +180,16 @@ IMPL_LINK_NOARG(SdPhotoAlbumDialog, CreateHdl, Button*, 
void)
                 aPicPos.Y = (aPageSize.Height - aPicSize.Height)/2;
 
                 xShape->setPosition(aPicPos);
-                xSlide->add(xShape);
-                if(bCreateCaptions)
-                    createCaption( aPageSize );
+                try
+                {
+                    xSlide->add(xShape);
+                    if (bCreateCaptions)
+                        createCaption( aPageSize );
+                }
+                catch (const css::uno::Exception& exc)
+                {
+                    SAL_WARN( "sd", exc );
+                }
             }
         }
         else if( nOpt == TWO_IMAGES )
@@ -249,7 +256,14 @@ IMPL_LINK_NOARG(SdPhotoAlbumDialog, CreateHdl, Button*, 
void)
                     aPicPos.Y = aPageSize.Height/2 - aPicSize.Height/2;
 
                     xShape->setPosition(aPicPos);
-                    xSlide->add(xShape);
+                    try
+                    {
+                        xSlide->add(xShape);
+                    }
+                    catch (const css::uno::Exception& exc)
+                    {
+                        SAL_WARN( "sd", exc );
+                    }
                 }
 
                 if( !sUrl2.isEmpty() )
@@ -287,10 +301,17 @@ IMPL_LINK_NOARG(SdPhotoAlbumDialog, CreateHdl, Button*, 
void)
                     aPicPos.Y = aPageSize.Height/2 - aPicSize.Height/2;
 
                     xShape->setPosition(aPicPos);
-                    xSlide->add(xShape);
-                    if(bCreateCaptions)
-                        createCaption( aPageSize );
 
+                    try
+                    {
+                        xSlide->add(xShape);
+                        if(bCreateCaptions)
+                            createCaption( aPageSize );
+                    }
+                    catch (const css::uno::Exception& exc)
+                    {
+                        SAL_WARN( "sd", exc );
+                    }
                 }
             }
         }
@@ -370,7 +391,14 @@ IMPL_LINK_NOARG(SdPhotoAlbumDialog, CreateHdl, Button*, 
void)
                     aPicPos.Y = aPageSize.Height/4 - aPicSize.Height/2;
 
                     xShape->setPosition(aPicPos);
-                    xSlide->add(xShape);
+                    try
+                    {
+                        xSlide->add(xShape);
+                    }
+                    catch (const css::uno::Exception& exc)
+                    {
+                        SAL_WARN( "sd", exc );
+                    }
                 }
                 if( !sUrl2.isEmpty() )
                 {
@@ -407,7 +435,14 @@ IMPL_LINK_NOARG(SdPhotoAlbumDialog, CreateHdl, Button*, 
void)
                     aPicPos.Y = aPageSize.Height/4 - aPicSize.Height/2;
 
                     xShape->setPosition(aPicPos);
-                    xSlide->add(xShape);
+                    try
+                    {
+                        xSlide->add(xShape);
+                    }
+                    catch (const css::uno::Exception& exc)
+                    {
+                        SAL_WARN( "sd", exc );
+                    }
                 }
                 if( !sUrl3.isEmpty() )
                 {
@@ -444,7 +479,14 @@ IMPL_LINK_NOARG(SdPhotoAlbumDialog, CreateHdl, Button*, 
void)
                     aPicPos.Y = aPageSize.Height/4 - aPicSize.Height/2 + 
aPageSize.Height/2;
 
                     xShape->setPosition(aPicPos);
-                    xSlide->add(xShape);
+                    try
+                    {
+                        xSlide->add(xShape);
+                    }
+                    catch (const css::uno::Exception& exc)
+                    {
+                        SAL_WARN( "sd", exc );
+                    }
                 }
                 if( !sUrl4.isEmpty() )
                 {
@@ -481,10 +523,16 @@ IMPL_LINK_NOARG(SdPhotoAlbumDialog, CreateHdl, Button*, 
void)
                     aPicPos.Y = aPageSize.Height/4 - aPicSize.Height/2 + 
aPageSize.Height/2;
 
                     xShape->setPosition(aPicPos);
-                    xSlide->add(xShape);
-                    if(bCreateCaptions)
-                        createCaption( aPageSize );
-
+                    try
+                    {
+                        xSlide->add(xShape);
+                        if(bCreateCaptions)
+                            createCaption( aPageSize );
+                    }
+                    catch (const css::uno::Exception& exc)
+                    {
+                        SAL_WARN( "sd", exc );
+                    }
                 }
             }
         }
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to