cui/source/tabpages/tpcolor.cxx          |    2 +-
 include/svx/SvxColorIconView.hxx         |    2 +-
 svx/source/tbxctrls/Palette.cxx          |    4 ++--
 svx/source/tbxctrls/PaletteManager.cxx   |    6 +++---
 svx/source/tbxctrls/SvxColorIconView.cxx |    8 ++++----
 5 files changed, 11 insertions(+), 11 deletions(-)

New commits:
commit bed0c458c81ad9c4fcd0d92dc7b9d70ccaaaee49
Author:     Mike Kaganski <[email protected]>
AuthorDate: Fri Feb 20 22:26:55 2026 +0500
Commit:     Caolán McNamara <[email protected]>
CommitDate: Fri Feb 27 10:55:05 2026 +0100

    10000 GDI handles limit: use ScopedVclPtr to avoid leaks
    
    Similar to commit c11463cdc5415707d05ab6da08736ff7212db4a0 (tdf#154016:
    use ScopedVclPtr, 2023-04-17).
    
    Change-Id: Ie17d36618af6ca3bda79b453df3cd018df831e98
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199903
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Reviewed-by: Mike Kaganski <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200573
    Reviewed-by: Caolán McNamara <[email protected]>

diff --git a/cui/source/tabpages/tpcolor.cxx b/cui/source/tabpages/tpcolor.cxx
index 61e9e713e224..d7b87d18dd46 100644
--- a/cui/source/tabpages/tpcolor.cxx
+++ b/cui/source/tabpages/tpcolor.cxx
@@ -359,7 +359,7 @@ IMPL_LINK_NOARG(SvxColorTabPage, ClickAddHdl_Impl, 
weld::Button&, void)
         batch->commit();
         OUString sLastColorItemId = nSize > 0 ? 
m_xIconViewColorList->get_id(nSize - 1) : OUString();
         sal_Int32 nId = !sLastColorItemId.isEmpty() ? 
sLastColorItemId.toInt32() : -1;
-        VclPtr<VirtualDevice> pVDev = 
SvxColorIconView::createColorVirtualDevice(m_aCurrentColor.m_aColor);
+        auto pVDev = 
SvxColorIconView::createColorVirtualDevice(m_aCurrentColor.m_aColor);
         Bitmap aBmp = pVDev->GetBitmap(Point(), pVDev->GetOutputSizePixel());
         OUString sId = OUString::number(nId + 1);
         m_xIconViewColorList->insert( nId + 1, &aName, &sId, &aBmp, nullptr);
diff --git a/include/svx/SvxColorIconView.hxx b/include/svx/SvxColorIconView.hxx
index aceaa7b4bddc..bb7c8d9eb7c2 100644
--- a/include/svx/SvxColorIconView.hxx
+++ b/include/svx/SvxColorIconView.hxx
@@ -34,7 +34,7 @@ public:
     static void addEntriesForColorSet(weld::IconView& pIconView, const 
std::set<Color>& rColorSet,
                                       std::u16string_view rNamePrefix);
 
-    static VclPtr<VirtualDevice> createColorVirtualDevice(const Color& rColor);
+    static ScopedVclPtr<VirtualDevice> createColorVirtualDevice(const Color& 
rColor);
 };
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
\ No newline at end of file
diff --git a/svx/source/tbxctrls/Palette.cxx b/svx/source/tbxctrls/Palette.cxx
index 2e660abe6ccd..c06de53f9458 100644
--- a/svx/source/tbxctrls/Palette.cxx
+++ b/svx/source/tbxctrls/Palette.cxx
@@ -59,7 +59,7 @@ void PaletteASE::LoadColorSet(weld::IconView& pIconView)
     int nIx = 0;
     for (const auto& rColor : maColors)
     {
-        VclPtr<VirtualDevice> pColorVDev = 
SvxColorIconView::createColorVirtualDevice(rColor.m_aColor);
+        auto pColorVDev = 
SvxColorIconView::createColorVirtualDevice(rColor.m_aColor);
         Bitmap aBmp = pColorVDev->GetBitmap(Point(), 
pColorVDev->GetOutputSizePixel());
         OUString sColorName = rColor.m_aName;
         OUString sId = OUString::number(nIx);
@@ -337,7 +337,7 @@ void PaletteGPL::LoadColorSet(weld::IconView& pIconView)
     int nIx = 0;
     for (const auto& rColor : maColors)
     {
-        VclPtr<VirtualDevice> pColorVDev = 
SvxColorIconView::createColorVirtualDevice(rColor.m_aColor);
+        auto pColorVDev = 
SvxColorIconView::createColorVirtualDevice(rColor.m_aColor);
         Bitmap aBmp = pColorVDev->GetBitmap(Point(), 
pColorVDev->GetOutputSizePixel());
         OUString sColorName = rColor.m_aName;
         OUString sId = OUString::number(nIx);
diff --git a/svx/source/tbxctrls/PaletteManager.cxx 
b/svx/source/tbxctrls/PaletteManager.cxx
index 27a80461afda..7163c2cbcdc3 100644
--- a/svx/source/tbxctrls/PaletteManager.cxx
+++ b/svx/source/tbxctrls/PaletteManager.cxx
@@ -253,7 +253,7 @@ void PaletteManager::ReloadColorSet(weld::IconView 
&pIconView)
         for (int i = 0; i < CustomColorList.getLength(); ++i)
         {
             Color aColor(ColorTransparency, CustomColorList[i]);
-            VclPtr<VirtualDevice> pColorVDev = 
SvxColorIconView::createColorVirtualDevice(aColor);
+            auto pColorVDev = 
SvxColorIconView::createColorVirtualDevice(aColor);
             Bitmap aBmp = pColorVDev->GetBitmap(Point(), 
pColorVDev->GetOutputSizePixel());
             OUString sId = OUString::number(i);
             OUString sColorName = CustomColorNameList[i];
@@ -284,7 +284,7 @@ void PaletteManager::ReloadColorSet(weld::IconView 
&pIconView)
                 {
                     auto const& rEffect = rColorData.maEffects[nEffect];
                     Color aColor = rEffect.maColor;
-                    VclPtr<VirtualDevice> pColorVDev = 
SvxColorIconView::createColorVirtualDevice(aColor);
+                    auto pColorVDev = 
SvxColorIconView::createColorVirtualDevice(aColor);
                     Bitmap aBmp = pColorVDev->GetBitmap(Point(), 
pColorVDev->GetOutputSizePixel());
                     OUString sColorName = rEffect.maColorName;
                     OUString sId = OUString::number(nItemId);
@@ -324,7 +324,7 @@ void PaletteManager::ReloadRecentColorSet(weld::IconView& 
pIconView)
     for (int i = 0; i < Colorlist.getLength(); ++i)
     {
         Color aColor(ColorTransparency, Colorlist[i]);
-        VclPtr<VirtualDevice> pColorVDev = 
SvxColorIconView::createColorVirtualDevice(aColor);
+        auto pColorVDev = SvxColorIconView::createColorVirtualDevice(aColor);
         Bitmap aBmp = pColorVDev->GetBitmap(Point(), 
pColorVDev->GetOutputSizePixel());
         OUString sColorName = bHasColorNames ? ColorNamelist[i] : ("#" + 
aColor.AsRGBHexString().toAsciiUpperCase());
         maRecentColors.emplace_back(aColor, sColorName);
diff --git a/svx/source/tbxctrls/SvxColorIconView.cxx 
b/svx/source/tbxctrls/SvxColorIconView.cxx
index a1ee080af3dd..66b23eb8cdbd 100644
--- a/svx/source/tbxctrls/SvxColorIconView.cxx
+++ b/svx/source/tbxctrls/SvxColorIconView.cxx
@@ -49,7 +49,7 @@ void 
SvxColorIconView::addEntriesForXColorList(weld::IconView& pIconView,
 
         if (pEntry)
         {
-            VclPtr<VirtualDevice> pColorVDev = 
createColorVirtualDevice(pEntry->GetColor());
+            auto pColorVDev = createColorVirtualDevice(pEntry->GetColor());
             Bitmap aBmp = pColorVDev->GetBitmap(Point(), 
pColorVDev->GetOutputSizePixel());
             OUString sColorName = pEntry->GetName();
             OUString sId = OUString::number(nIndex);
@@ -71,7 +71,7 @@ void SvxColorIconView::addEntriesForColorSet(weld::IconView& 
pIconView,
     {
         for (const auto& rColor : rColorSet)
         {
-            VclPtr<VirtualDevice> pColorVDev = 
createColorVirtualDevice(rColor);
+            auto pColorVDev = createColorVirtualDevice(rColor);
             Bitmap aBmp = pColorVDev->GetBitmap(Point(), 
pColorVDev->GetOutputSizePixel());
             OUString sName = OUString::Concat(rNamePrefix) + 
OUString::number(nStartIndex);
             OUString sId = OUString::number(nStartIndex);
@@ -83,7 +83,7 @@ void SvxColorIconView::addEntriesForColorSet(weld::IconView& 
pIconView,
     {
         for (const auto& rColor : rColorSet)
         {
-            VclPtr<VirtualDevice> pColorVDev = 
createColorVirtualDevice(rColor);
+            auto pColorVDev = createColorVirtualDevice(rColor);
             Bitmap aBmp = pColorVDev->GetBitmap(Point(), 
pColorVDev->GetOutputSizePixel());
             OUString sId = OUString::number(nStartIndex);
             OUString sName = u""_ustr;
@@ -93,7 +93,7 @@ void SvxColorIconView::addEntriesForColorSet(weld::IconView& 
pIconView,
     }
 }
 
-VclPtr<VirtualDevice> SvxColorIconView::createColorVirtualDevice(const Color& 
rColor)
+ScopedVclPtr<VirtualDevice> SvxColorIconView::createColorVirtualDevice(const 
Color& rColor)
 {
     const sal_uInt32 nEdgeLength = getEntryEdgeLength() - 2;
     VclPtr<VirtualDevice> pVDev = VclPtr<VirtualDevice>::Create();

Reply via email to