Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
bb178440
Kaydet (Commit)
bb178440
authored
Mar 18, 2014
tarafından
Takeshi Abe
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Avoid possible resource leaks by boost::scoped_array
Change-Id: I54a175ce1e4cb624d94770ee849d97675987e7b2
üst
87efec9c
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
33 additions
and
45 deletions
+33
-45
cvtsvm.cxx
vcl/source/gdi/cvtsvm.cxx
+6
-9
dibtools.cxx
vcl/source/gdi/dibtools.cxx
+27
-36
No files found.
vcl/source/gdi/cvtsvm.cxx
Dosyayı görüntüle @
bb178440
...
...
@@ -30,6 +30,7 @@
#include <rtl/strbuf.hxx>
#include <cvtsvm.hxx>
#include <boost/scoped_array.hpp>
// Inlines
void
ImplReadRect
(
SvStream
&
rIStm
,
Rectangle
&
rRect
)
...
...
@@ -851,7 +852,6 @@ void SVMConverter::ImplConvertFromSVM1( SvStream& rIStm, GDIMetaFile& rMtf )
case
(
GDI_TEXTARRAY_ACTION
):
{
sal_Int32
*
pDXAry
=
NULL
;
sal_Int32
nIndex
,
nLen
,
nAryLen
;
ReadPair
(
rIStm
,
aPt
).
ReadInt32
(
nIndex
).
ReadInt32
(
nLen
).
ReadInt32
(
nTmp
).
ReadInt32
(
nAryLen
);
...
...
@@ -864,11 +864,12 @@ void SVMConverter::ImplConvertFromSVM1( SvStream& rIStm, GDIMetaFile& rMtf )
OUString
aStr
(
OStringToOUString
(
aByteStr
,
eActualCharSet
));
boost
::
scoped_array
<
sal_Int32
>
pDXAry
;
if
(
nAryLen
>
0
)
{
sal_Int32
nStrLen
(
aStr
.
getLength
()
);
pDXAry
=
new
sal_Int32
[
std
::
max
(
nAryLen
,
nStrLen
)
]
;
pDXAry
.
reset
(
new
sal_Int32
[
std
::
max
(
nAryLen
,
nStrLen
)
])
;
for
(
sal_Int32
j
=
0
;
j
<
nAryLen
;
++
j
)
rIStm
.
ReadInt32
(
nTmp
),
pDXAry
[
j
]
=
nTmp
;
...
...
@@ -878,9 +879,9 @@ void SVMConverter::ImplConvertFromSVM1( SvStream& rIStm, GDIMetaFile& rMtf )
{
if
(
nAryLen
+
1
==
nStrLen
)
{
sal_Int32
*
pTmpAry
=
new
sal_Int32
[
nStrLen
]
;
boost
::
scoped_array
<
sal_Int32
>
pTmpAry
(
new
sal_Int32
[
nStrLen
])
;
aFontVDev
.
GetTextArray
(
aStr
,
pTmpAry
,
nIndex
,
nLen
);
aFontVDev
.
GetTextArray
(
aStr
,
pTmpAry
.
get
()
,
nIndex
,
nLen
);
// now, the difference between the
// last and the second last DX array
...
...
@@ -893,8 +894,6 @@ void SVMConverter::ImplConvertFromSVM1( SvStream& rIStm, GDIMetaFile& rMtf )
pDXAry
[
nStrLen
-
1
]
=
pDXAry
[
nStrLen
-
2
]
+
pTmpAry
[
nStrLen
-
1
]
-
pTmpAry
[
nStrLen
-
2
];
else
pDXAry
[
nStrLen
-
1
]
=
pTmpAry
[
nStrLen
-
1
];
// len=1: 0th position taken to be 0
delete
[]
pTmpAry
;
}
#ifdef DBG_UTIL
else
...
...
@@ -904,9 +903,7 @@ void SVMConverter::ImplConvertFromSVM1( SvStream& rIStm, GDIMetaFile& rMtf )
}
if
(
nUnicodeCommentActionNumber
==
i
)
ImplReadUnicodeComment
(
nUnicodeCommentStreamPos
,
rIStm
,
aStr
);
rMtf
.
AddAction
(
new
MetaTextArrayAction
(
aPt
,
aStr
,
pDXAry
,
nIndex
,
nLen
)
);
delete
[]
pDXAry
;
rMtf
.
AddAction
(
new
MetaTextArrayAction
(
aPt
,
aStr
,
pDXAry
.
get
(),
nIndex
,
nLen
)
);
}
rIStm
.
Seek
(
nActBegin
+
nActionSize
);
}
...
...
vcl/source/gdi/dibtools.cxx
Dosyayı görüntüle @
bb178440
...
...
@@ -24,7 +24,7 @@
#include <vcl/bitmapex.hxx>
#include <vcl/bmpacc.hxx>
#include <vcl/outdev.hxx>
#include <boost/scoped_array.hpp>
// - Defines -
...
...
@@ -260,10 +260,10 @@ bool ImplReadDIBPalette( SvStream& rIStm, BitmapWriteAccess& rAcc, bool bQuad )
const
sal_uLong
nPalSize
=
nColors
*
(
bQuad
?
4UL
:
3UL
);
BitmapColor
aPalColor
;
sal_uInt8
*
pEntries
=
new
sal_uInt8
[
nPalSize
]
;
rIStm
.
Read
(
pEntries
,
nPalSize
);
boost
::
scoped_array
<
sal_uInt8
>
pEntries
(
new
sal_uInt8
[
nPalSize
])
;
rIStm
.
Read
(
pEntries
.
get
()
,
nPalSize
);
sal_uInt8
*
pTmpEntry
=
pEntries
;
sal_uInt8
*
pTmpEntry
=
pEntries
.
get
()
;
for
(
sal_uInt16
i
=
0
;
i
<
nColors
;
i
++
)
{
aPalColor
.
SetBlue
(
*
pTmpEntry
++
);
...
...
@@ -276,8 +276,6 @@ bool ImplReadDIBPalette( SvStream& rIStm, BitmapWriteAccess& rAcc, bool bQuad )
rAcc
.
SetPaletteColor
(
i
,
aPalColor
);
}
delete
[]
pEntries
;
return
(
rIStm
.
GetError
()
==
0UL
);
}
...
...
@@ -447,7 +445,7 @@ bool ImplReadDIBBits(SvStream& rIStm, DIBV5Header& rHeader, BitmapWriteAccess& r
{
const
long
nWidth
(
rHeader
.
nWidth
);
const
long
nHeight
(
rHeader
.
nHeight
);
sal_uInt8
*
pBuf
=
new
sal_uInt8
[
nAlignedWidth
]
;
boost
::
scoped_array
<
sal_uInt8
>
pBuf
(
new
sal_uInt8
[
nAlignedWidth
])
;
const
long
nI
(
bTopDown
?
1
:
-
1
);
long
nY
(
bTopDown
?
0
:
nHeight
-
1
);
...
...
@@ -462,7 +460,7 @@ bool ImplReadDIBBits(SvStream& rIStm, DIBV5Header& rHeader, BitmapWriteAccess& r
for
(
;
nCount
--
;
nY
+=
nI
)
{
rIStm
.
Read
(
pTmp
=
pBuf
,
nAlignedWidth
);
rIStm
.
Read
(
pTmp
=
pBuf
.
get
()
,
nAlignedWidth
);
cTmp
=
*
pTmp
++
;
for
(
long
nX
=
0L
,
nShift
=
8L
;
nX
<
nWidth
;
nX
++
)
...
...
@@ -486,7 +484,7 @@ bool ImplReadDIBBits(SvStream& rIStm, DIBV5Header& rHeader, BitmapWriteAccess& r
for
(
;
nCount
--
;
nY
+=
nI
)
{
rIStm
.
Read
(
pTmp
=
pBuf
,
nAlignedWidth
);
rIStm
.
Read
(
pTmp
=
pBuf
.
get
()
,
nAlignedWidth
);
cTmp
=
*
pTmp
++
;
for
(
long
nX
=
0L
,
nShift
=
2L
;
nX
<
nWidth
;
nX
++
)
...
...
@@ -509,7 +507,7 @@ bool ImplReadDIBBits(SvStream& rIStm, DIBV5Header& rHeader, BitmapWriteAccess& r
for
(
;
nCount
--
;
nY
+=
nI
)
{
rIStm
.
Read
(
pTmp
=
pBuf
,
nAlignedWidth
);
rIStm
.
Read
(
pTmp
=
pBuf
.
get
()
,
nAlignedWidth
);
for
(
long
nX
=
0L
;
nX
<
nWidth
;
nX
++
)
rAcc
.
SetPixelIndex
(
nY
,
nX
,
*
pTmp
++
);
...
...
@@ -525,7 +523,7 @@ bool ImplReadDIBBits(SvStream& rIStm, DIBV5Header& rHeader, BitmapWriteAccess& r
for
(
;
nCount
--
;
nY
+=
nI
)
{
rIStm
.
Read
(
(
char
*
)(
pTmp16
=
(
sal_uInt16
*
)
pBuf
),
nAlignedWidth
);
rIStm
.
Read
(
(
char
*
)(
pTmp16
=
(
sal_uInt16
*
)
pBuf
.
get
()
),
nAlignedWidth
);
for
(
long
nX
=
0L
;
nX
<
nWidth
;
nX
++
)
{
...
...
@@ -543,7 +541,7 @@ bool ImplReadDIBBits(SvStream& rIStm, DIBV5Header& rHeader, BitmapWriteAccess& r
for
(
;
nCount
--
;
nY
+=
nI
)
{
rIStm
.
Read
(
pTmp
=
pBuf
,
nAlignedWidth
);
rIStm
.
Read
(
pTmp
=
pBuf
.
get
()
,
nAlignedWidth
);
for
(
long
nX
=
0L
;
nX
<
nWidth
;
nX
++
)
{
...
...
@@ -568,7 +566,7 @@ bool ImplReadDIBBits(SvStream& rIStm, DIBV5Header& rHeader, BitmapWriteAccess& r
for
(
;
nCount
--
;
nY
+=
nI
)
{
rIStm
.
Read
(
(
char
*
)(
pTmp32
=
(
sal_uInt32
*
)
pBuf
),
nAlignedWidth
);
rIStm
.
Read
(
(
char
*
)(
pTmp32
=
(
sal_uInt32
*
)
pBuf
.
get
()
),
nAlignedWidth
);
for
(
long
nX
=
0L
;
nX
<
nWidth
;
nX
++
)
{
...
...
@@ -583,7 +581,7 @@ bool ImplReadDIBBits(SvStream& rIStm, DIBV5Header& rHeader, BitmapWriteAccess& r
{
for
(
;
nCount
--
;
nY
+=
nI
)
{
rIStm
.
Read
(
(
char
*
)(
pTmp32
=
(
sal_uInt32
*
)
pBuf
),
nAlignedWidth
);
rIStm
.
Read
(
(
char
*
)(
pTmp32
=
(
sal_uInt32
*
)
pBuf
.
get
()
),
nAlignedWidth
);
for
(
long
nX
=
0L
;
nX
<
nWidth
;
nX
++
)
{
...
...
@@ -594,8 +592,6 @@ bool ImplReadDIBBits(SvStream& rIStm, DIBV5Header& rHeader, BitmapWriteAccess& r
}
}
}
delete
[]
pBuf
;
}
}
...
...
@@ -794,8 +790,8 @@ bool ImplWriteDIBPalette( SvStream& rOStm, BitmapReadAccess& rAcc )
{
const
sal_uInt16
nColors
=
rAcc
.
GetPaletteEntryCount
();
const
sal_uLong
nPalSize
=
nColors
*
4UL
;
sal_uInt8
*
pEntries
=
new
sal_uInt8
[
nPalSize
]
;
sal_uInt8
*
pTmpEntry
=
pEntries
;
boost
::
scoped_array
<
sal_uInt8
>
pEntries
(
new
sal_uInt8
[
nPalSize
])
;
sal_uInt8
*
pTmpEntry
=
pEntries
.
get
()
;
BitmapColor
aPalColor
;
for
(
sal_uInt16
i
=
0
;
i
<
nColors
;
i
++
)
...
...
@@ -808,8 +804,7 @@ bool ImplWriteDIBPalette( SvStream& rOStm, BitmapReadAccess& rAcc )
*
pTmpEntry
++
=
0
;
}
rOStm
.
Write
(
pEntries
,
nPalSize
);
delete
[]
pEntries
;
rOStm
.
Write
(
pEntries
.
get
(),
nPalSize
);
return
(
rOStm
.
GetError
()
==
0UL
);
}
...
...
@@ -822,7 +817,7 @@ bool ImplWriteRLE( SvStream& rOStm, BitmapReadAccess& rAcc, bool bRLE4 )
sal_uLong
nSaveIndex
;
sal_uLong
nCount
;
sal_uLong
nBufCount
;
sal_uInt8
*
pBuf
=
new
sal_uInt8
[
(
nWidth
<<
1
)
+
2
]
;
boost
::
scoped_array
<
sal_uInt8
>
pBuf
(
new
sal_uInt8
[
(
nWidth
<<
1
)
+
2
])
;
sal_uInt8
*
pTmp
;
sal_uInt8
cPix
;
sal_uInt8
cLast
;
...
...
@@ -830,7 +825,7 @@ bool ImplWriteRLE( SvStream& rOStm, BitmapReadAccess& rAcc, bool bRLE4 )
for
(
long
nY
=
nHeight
-
1L
;
nY
>=
0L
;
nY
--
)
{
pTmp
=
pBuf
;
pTmp
=
pBuf
.
get
()
;
nX
=
nBufCount
=
0UL
;
while
(
nX
<
nWidth
)
...
...
@@ -919,14 +914,12 @@ bool ImplWriteRLE( SvStream& rOStm, BitmapReadAccess& rAcc, bool bRLE4 )
pBuf
[
nBufCount
++
]
=
0
;
pBuf
[
nBufCount
++
]
=
0
;
rOStm
.
Write
(
pBuf
,
nBufCount
);
rOStm
.
Write
(
pBuf
.
get
()
,
nBufCount
);
}
rOStm
.
WriteUChar
(
(
sal_uInt8
)
0
);
rOStm
.
WriteUChar
(
(
sal_uInt8
)
1
);
delete
[]
pBuf
;
return
(
rOStm
.
GetError
()
==
0UL
);
}
...
...
@@ -1006,7 +999,7 @@ bool ImplWriteDIBBits(SvStream& rOStm, BitmapReadAccess& rAcc, BitmapReadAccess*
{
const
long
nWidth
(
rAcc
.
Width
());
const
long
nHeight
(
rAcc
.
Height
());
sal_uInt8
*
pBuf
=
new
sal_uInt8
[
nAlignedWidth
]
;
boost
::
scoped_array
<
sal_uInt8
>
pBuf
(
new
sal_uInt8
[
nAlignedWidth
])
;
sal_uInt8
*
pTmp
(
0
);
sal_uInt8
cTmp
(
0
);
...
...
@@ -1016,7 +1009,7 @@ bool ImplWriteDIBBits(SvStream& rOStm, BitmapReadAccess& rAcc, BitmapReadAccess*
{
for
(
long
nY
=
nHeight
-
1
;
nY
>=
0L
;
nY
--
)
{
pTmp
=
pBuf
;
pTmp
=
pBuf
.
get
()
;
cTmp
=
0
;
for
(
long
nX
=
0L
,
nShift
=
8L
;
nX
<
nWidth
;
nX
++
)
...
...
@@ -1032,7 +1025,7 @@ bool ImplWriteDIBBits(SvStream& rOStm, BitmapReadAccess& rAcc, BitmapReadAccess*
}
*
pTmp
=
cTmp
;
rOStm
.
Write
(
pBuf
,
nAlignedWidth
);
rOStm
.
Write
(
pBuf
.
get
()
,
nAlignedWidth
);
}
}
break
;
...
...
@@ -1041,7 +1034,7 @@ bool ImplWriteDIBBits(SvStream& rOStm, BitmapReadAccess& rAcc, BitmapReadAccess*
{
for
(
long
nY
=
nHeight
-
1
;
nY
>=
0L
;
nY
--
)
{
pTmp
=
pBuf
;
pTmp
=
pBuf
.
get
()
;
cTmp
=
0
;
for
(
long
nX
=
0L
,
nShift
=
2L
;
nX
<
nWidth
;
nX
++
)
...
...
@@ -1056,7 +1049,7 @@ bool ImplWriteDIBBits(SvStream& rOStm, BitmapReadAccess& rAcc, BitmapReadAccess*
cTmp
|=
rAcc
.
GetPixelIndex
(
nY
,
nX
)
<<
(
--
nShift
<<
2L
);
}
*
pTmp
=
cTmp
;
rOStm
.
Write
(
pBuf
,
nAlignedWidth
);
rOStm
.
Write
(
pBuf
.
get
()
,
nAlignedWidth
);
}
}
break
;
...
...
@@ -1065,12 +1058,12 @@ bool ImplWriteDIBBits(SvStream& rOStm, BitmapReadAccess& rAcc, BitmapReadAccess*
{
for
(
long
nY
=
nHeight
-
1
;
nY
>=
0L
;
nY
--
)
{
pTmp
=
pBuf
;
pTmp
=
pBuf
.
get
()
;
for
(
long
nX
=
0L
;
nX
<
nWidth
;
nX
++
)
*
pTmp
++
=
rAcc
.
GetPixelIndex
(
nY
,
nX
);
rOStm
.
Write
(
pBuf
,
nAlignedWidth
);
rOStm
.
Write
(
pBuf
.
get
()
,
nAlignedWidth
);
}
}
break
;
...
...
@@ -1085,7 +1078,7 @@ bool ImplWriteDIBBits(SvStream& rOStm, BitmapReadAccess& rAcc, BitmapReadAccess*
for
(
long
nY
=
nHeight
-
1
;
nY
>=
0L
;
nY
--
)
{
pTmp
=
pBuf
;
pTmp
=
pBuf
.
get
()
;
for
(
long
nX
=
0L
;
nX
<
nWidth
;
nX
++
)
{
...
...
@@ -1103,13 +1096,11 @@ bool ImplWriteDIBBits(SvStream& rOStm, BitmapReadAccess& rAcc, BitmapReadAccess*
}
}
rOStm
.
Write
(
pBuf
,
nAlignedWidth
);
rOStm
.
Write
(
pBuf
.
get
()
,
nAlignedWidth
);
}
}
break
;
}
delete
[]
pBuf
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment