summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorDmitriy Shilin <dshil@fastmail.com>2018-11-30 08:41:00 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2018-12-05 12:16:45 +0100
commit6fa4c3e4778959d4591c053461329d396741ee64 (patch)
treeebb8da33cb7c98607d940a3e92c94644c13cc962 /vcl
parent40c620a6d0761fbeb80c6cf7020a229ccc130797 (diff)
tdf#39593 vcl: extract SysColor list deletion
Change-Id: I7d1b319a1cf551e1fd6b67f13f738ab42df1b77d Reviewed-on: https://gerrit.libreoffice.org/64591 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/win/gdi/salgdi.cxx38
1 files changed, 20 insertions, 18 deletions
diff --git a/vcl/win/gdi/salgdi.cxx b/vcl/win/gdi/salgdi.cxx
index c1ec8bd88e2d..da06dc999e4c 100644
--- a/vcl/win/gdi/salgdi.cxx
+++ b/vcl/win/gdi/salgdi.cxx
@@ -54,6 +54,24 @@ struct SysColorEntry
static SysColorEntry* pFirstSysColor = nullptr;
static SysColorEntry* pActSysColor = nullptr;
+namespace
+{
+
+void DeleteSysColorList()
+{
+ SysColorEntry* pEntry = pFirstSysColor;
+ pActSysColor = pFirstSysColor = nullptr;
+
+ while( pEntry )
+ {
+ SysColorEntry* pTmp = pEntry->pNext;
+ delete pEntry;
+ pEntry = pTmp;
+ }
+}
+
+} // namespace
+
// Blue7
static PALETTEENTRY aImplExtraColor1 =
{
@@ -315,15 +333,7 @@ void ImplFreeSalGDI()
delete[] pSalData->mpDitherHigh;
}
- // delete SysColorList
- SysColorEntry* pEntry = pFirstSysColor;
- while( pEntry )
- {
- SysColorEntry* pTmp = pEntry->pNext;
- delete pEntry;
- pEntry = pTmp;
- }
- pFirstSysColor = nullptr;
+ DeleteSysColorList();
// delete icon cache
SalIcon* pIcon = pSalData->mpFirstIcon;
@@ -409,15 +419,7 @@ static void ImplInsertSysColorEntry( int nSysIndex )
void ImplUpdateSysColorEntries()
{
- // delete old SysColorList
- SysColorEntry* pEntry = pFirstSysColor;
- while( pEntry )
- {
- SysColorEntry* pTmp = pEntry->pNext;
- delete pEntry;
- pEntry = pTmp;
- }
- pActSysColor = pFirstSysColor = nullptr;
+ DeleteSysColorList();
// create new sys color list
ImplInsertSysColorEntry( COLOR_ACTIVEBORDER );