[Libreoffice-commits] core.git: framework/source

Maxim Monastirsky (via logerrit) logerrit at kemper.freedesktop.org
Sun Aug 30 19:34:01 UTC 2020


 framework/source/fwe/classes/addonsoptions.cxx |   26 +++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

New commits:
commit 15d655f0133d986a85f4ba9630587566d90a0c50
Author:     Maxim Monastirsky <momonasmon at gmail.com>
AuthorDate: Sun Aug 30 19:04:03 2020 +0300
Commit:     Maxim Monastirsky <momonasmon at gmail.com>
CommitDate: Sun Aug 30 21:33:26 2020 +0200

    Related: tdf#107548 Make sure embedded images have higher priority
    
    As documented in the schema, the dev guide and a comment in
    AddonsOptions_Impl::ReadImageData. Noticed the problem while testing
    the ProtocolHandlerAddon sdk example which has the ImageSmall props
    defined yet didn't show the icons. Turned out this was a result of
    the previous commit that fixed ImageSmallURL, which started now to
    override ImageSmall.
    
    Change-Id: I0a9eb6b13b73a60efc801905601894c862d68cba
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101666
    Tested-by: Jenkins
    Reviewed-by: Maxim Monastirsky <momonasmon at gmail.com>

diff --git a/framework/source/fwe/classes/addonsoptions.cxx b/framework/source/fwe/classes/addonsoptions.cxx
index 4201a6a5f4f7..00766c66e208 100644
--- a/framework/source/fwe/classes/addonsoptions.cxx
+++ b/framework/source/fwe/classes/addonsoptions.cxx
@@ -256,7 +256,8 @@ class AddonsOptions_Impl : public ConfigItem
             // accessed in this order
             OneImageEntry aSizeEntry[2];
             ImageEntry() {}
-            void addImage(ImageSize eSize, const BitmapEx &rImage, const OUString &rURL);
+            void addImage(ImageSize eSize, const BitmapEx &rImage);
+            void addImage(ImageSize eSize, const OUString &rURL);
         };
 
         typedef std::unordered_map< OUString, ImageEntry > ImageManager;
@@ -349,11 +350,13 @@ class AddonsOptions_Impl : public ConfigItem
         MergeStatusbarInstructionContainer                m_aCachedStatusbarMergingInstructions;
 };
 
-void AddonsOptions_Impl::ImageEntry::addImage(ImageSize eSize,
-                                              const BitmapEx& rImage,
-                                              const OUString &rURL)
+void AddonsOptions_Impl::ImageEntry::addImage(ImageSize eSize, const BitmapEx& rImage)
 {
     aSizeEntry[static_cast<int>(eSize)].aImage = rImage;
+}
+
+void AddonsOptions_Impl::ImageEntry::addImage(ImageSize eSize, const OUString &rURL)
+{
     aSizeEntry[static_cast<int>(eSize)].aURL = rURL;
 }
 
@@ -1608,8 +1611,7 @@ void AddonsOptions_Impl::ReadAndAssociateImages( const OUString& aURL, const OUS
         aFileURL.appendAscii( aExtArray[i] );
         aFileURL.append( ".bmp" );
 
-        aImageEntry.addImage( !i ? IMGSIZE_SMALL : IMGSIZE_BIG,
-                              BitmapEx(), aFileURL.makeStringAndClear() );
+        aImageEntry.addImage( !i ? IMGSIZE_SMALL : IMGSIZE_BIG, aFileURL.makeStringAndClear() );
     }
 
     m_aImageManager.emplace( aURL, aImageEntry );
@@ -1639,7 +1641,7 @@ std::unique_ptr<AddonsOptions_Impl::ImageEntry> AddonsOptions_Impl::ReadImageDat
             {
                 if ( !pEntry )
                     pEntry.reset(new ImageEntry);
-                pEntry->addImage(i == OFFSET_IMAGES_SMALL ? IMGSIZE_SMALL : IMGSIZE_BIG, aImage, "");
+                pEntry->addImage(i == OFFSET_IMAGES_SMALL ? IMGSIZE_SMALL : IMGSIZE_BIG, aImage);
             }
         }
         else if ( i == OFFSET_IMAGES_SMALL_URL || i == OFFSET_IMAGES_BIG_URL )
@@ -1649,11 +1651,11 @@ std::unique_ptr<AddonsOptions_Impl::ImageEntry> AddonsOptions_Impl::ReadImageDat
 
             // Retrieve image data from an external bitmap file. Make sure that embedded image data
             // has a higher priority.
-            aPropertyData[i] >>= aImageURL;
-
-            SubstituteVariables( aImageURL );
-
-            pEntry->addImage(i == OFFSET_IMAGES_SMALL_URL ? IMGSIZE_SMALL : IMGSIZE_BIG, BitmapEx(), aImageURL);
+            if (aPropertyData[i] >>= aImageURL)
+            {
+                SubstituteVariables(aImageURL);
+                pEntry->addImage(i == OFFSET_IMAGES_SMALL_URL ? IMGSIZE_SMALL : IMGSIZE_BIG, aImageURL);
+            }
         }
     }
 


More information about the Libreoffice-commits mailing list